68

できればroxygen->rd変換を行う前に、roxygenが見るコメントを変換できるメカニズムはありますか?

たとえば、次のようなものがあるとします。

#' My function. Does stuff with numbers.
#'
#' This takes an input `x` and does something with it.
#' @param x a number.
myFunction <- function (x) {
}

ここで、roxygenがコメントを解析する前に、コメントの変換を実行したいとします。たとえば、バックティック内のすべてのインスタンスを。に置き換えます\code{}。すなわち:

preprocess <- function (txt) {
    gsub('`([^ ]+)`', '\\\\code{\\1}', txt)
}
# cat(preprocess('Takes an input `x` and does something with it'.))
# Takes an input \code{x} and does something with it.

どういうわけかroxygenにフィードpreprocessして、roxygenがドキュメントを生成する前(またはこの場合は動作した後)にドックレットで実行できるようにすることはできますか?

.rファイル内で永続的な検索置換を実行したくありません。私の例から推測できるように、私はroxygenコメントでいくつかの基本的なマークダウンのサポートを目指しているので、.r読みやすさを維持するために(そしてプログラムで内容を挿入するために)ファイルをそのままにしておきたいと思います\code{..}

ファイル内で検出されたすべてのroxygenスタイルのコメントroxygeniseに対して実行される独自のバージョンを記述し、それらを一時的にどこかに保存してから、それらに対して実際に実行する必要がありますか?preprocess roxygenise

4

1 に答える 1

0

数年後にこれを再検討すると、Roxygen には、register.preref.parsers独自のパーサーを roxygen に注入するために使用できる機能があるようです。これのそのような用途の 1 つは、有望なmaxygen パッケージ(markdown + roxygen = maxygen) です。これは、roxygen コメントのマークダウン処理の非常にきちんとした実装です (ただし、CommonMark 仕様のみ) 。機能。「pandoc + roxygen = pandoxygen」を待ち望んでいます... :)

于 2015-09-23T00:16:26.350 に答える