Rob*_*inL 72 r pandoc knitr r-markdown bookdown
R Markdown,Knitr,Pandoc和Bookdown的功能之间有什么关系?
具体来说,在将标记文档与嵌入式R代码(例如.Rnw或者.Rmd)转换为最终输出(例如.pdf或.html)时,这些包之间的"分工"是什么?如果Knitr用于处理RMarkdown,那么这个rmarkdown包做了什么以及它与它有何不同markdown package?
Rob*_*inL 101
Pandoc是一个文档转换器.它可以从许多不同的标记格式转换为多种格式,例如.doc,.pdf等
Pandoc是一个没有GUI的命令行工具.它是一个独立的软件,与R分开.但它与R Studio捆绑在一起,因为rmarkdown它依赖于文档转换.
Pandoc不仅可以转换文档,还可以在基本降价语言之上添加功能,使其能够支持更复杂的输出.
R Markdown基于降价:
Markdown是一种轻量级标记语言,设计了纯文本格式语法,因此可以将其转换为HTML和许多其他格式.markdown文件是纯文本文件,通常给出扩展名.md.
像其他标记语言一样,如HTML和Latex,它完全独立于R.
没有明确定义的Markdown标准.这导致了碎片化,因为不同的供应商编写自己的语言变体来纠正缺陷或添加缺失的功能.
markdown是一个R .Rmd文件包,它将文件转换为HTML.它的前身是rmarkdown,它提供了更多的功能.不再推荐使用.
R Markdown是markdown语法的扩展.R Markdown文件是纯文本文件,通常具有文件扩展名.Rmd.它们使用markdown语法的扩展编写,使R代码能够以稍后执行的方式嵌入到它们中.
因为它们应该由rmarkdown包处理,所以可以使用Pandoc markdown语法作为R markdown文件的一部分.这是原始markdown语法的扩展,提供了原始HTML/Latex和表等附加功能.
R包rmarkdown是一个库,它将.Rmd文件处理并转换成许多不同的格式.
核心功能是rmarkdown::render其站在pandoc的肩膀上.此函数'使用pandoc将输入文件呈现为指定的输出格式.如果输入需要编织,则knitr::knit在pandoc之前调用.
RMarkdown软件包的目的只是提供相当不错的默认值和一个R友好的界面来定制Pandoc选项..
在RMarkdown文件顶部看到的YAML元数据特定用于传递选项rmarkdown::render,以指导构建过程.
请注意,RMarkdown仅处理markdown语法.如果要转换文件.Rhtml或.Rnw文件,则应使用内置的便捷函数Knitr,例如knitr::knit2html和knitr:knit2pdf
Knitr采用带有嵌入代码的纯文本文档,执行代码并将结果"编织"回文档.
例如,它转换
.Rmd)文件放入标准markdown文件(.md).Rnw(Sweave)文件.tex格式化. .Rhtml文件到html.核心功能是knitr::knit,默认情况下,这将查看输入文档,并尝试猜测它是什么类型 - Rnw,Rmd等.
此核心功能执行三个角色: - 源解析器,它查看输入文档并检测哪些部分是用户想要评估的代码. - 代码评估程序,用于评估此代码 - 输出呈现器,它以可以由原始输出类型解释的格式将评估结果写回文档.例如,如果输入文件是a .Rmd,则输出呈现标记.md格式的代码评估输出.
Knitr并没有文档格式之间的转换-如转换.md成.html.但是,它确实提供了一些便利功能来帮助您使用其他库来执行此操作. 如果您正在使用该rmarkdown软件包,则应忽略此功能,因为它已被取代rmarkdown::render.
一个例子是knitr:knit2pdf:'编织输入Rnw或Rrst文档,并使用texi2pdf或rst2pdf'编译为PDF.
混乱的潜在来源是knitr::knit2html,这"是一个方便的功能编织输入降价源并调用markdown::markdownToHTML将结果转换为HTML". 这是现在的遗留功能,因为markdown包已被包取代rmarkdown.请参阅此说明.
bookdown软件包基于R Markdown构建,继承了Markdown语法的简单性,以及多种输出格式(PDF/HTML/Word/...)的可能性.
它提供多页HTML输出,编号和交叉引用图/表/节/方程,插入部分/附录,以及导入GitBook样式(https://www.gitbook.com)等功能,以创建优雅和吸引人的HTML书页.
| 归档时间: |
|
| 查看次数: |
10531 次 |
| 最近记录: |