我正在尝试在Markdown中为R包编写文档,并将其转换为Rd文件。
我想另一种看待这种情况的方法是,我想要一个识别各种降价构造的框架,并允许我指定如何渲染这些构造,例如:
`text in backticks`
转换为\code{text in backticks}
**text**
已转换为\bold{text}
\itemize{...}
等等。
有什么东西让我这样做吗? R中的pander
包(围绕pandoc包装)看起来很有希望,但我不确定我是否可以指定转换规则(例如,它使用\texttt
转换反引号,我想要\code
) ,它还生成一个完整的独立文档,而不仅仅是我转换的输入代码段。
R的markdown
包看起来只是做降价 - > 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
评论中嵌入markdown,所以考虑将部分评论从markdown转换为rd,然后在输出上运行roxygen。
答案 0 :(得分:4)
您是否看过@ gabor-csardi的氧气包装?
https://github.com/gaborcsardi/maxygen
它基本上允许你在Markdown中写入roxygen标题。
[UPDATE] 这些更改已经与roxygen2软件包相关联,并将与版本6发布一起发布。来自GitHub:
现在可以使用Markdown标记而不是使用Markdown标记来编写大多数字段 传统的Rd语言。您可以通过添加全局启用Markdown Roxygen:列表(markdown = TRUE)到DESCRIPTION。 @md / @noMd标签 打开/关闭给定块的Markdown解析。看'降价' 更多细节(#364,#431,#499,#506,#507),by @gaborcsardi
答案 1 :(得分:0)
您可以使用Fabian Scheipl建议的md2rd
功能:有关详细信息,请参阅roclet-md2rd.R。