R Markdown、Knitr、Pandoc 和 Bookdown 之间的关系
Relationship between R Markdown, Knitr, Pandoc, and Bookdown
R Markdown、Knitr、Pandoc 和 Bookdown 的功能之间有什么关系?
具体来说,在将带有嵌入式 R 代码的标记文档(例如 .Rnw
或 .Rmd
)转换为最终输出(例如 .pdf
或.html
)?如果 Knitr 用于处理 RMarkdown,那么 rmarkdown
包的作用是什么?它与 markdown package
有何不同?
潘多克
Pandoc 是一个文档转换器。它可以从多种不同的标记格式转换为多种其他格式,例如 .doc
、.pdf
等
Pandoc 是一个没有 GUI 的命令行工具。它是独立于 R 的独立软件。但是,它与 R Studio 捆绑在一起,因为 rmarkdown
依赖它进行文档转换。
Pandoc 不仅转换文档,而且还在基本 markdown 语言之上添加功能,使其能够支持更复杂的输出。
R 降价
R Markdown 基于 markdown:
Markdown(标记语言)
Markdown 是一种轻量级标记语言,采用纯文本格式化语法,可转换为 HTML 和许多其他格式。 Markdown 文件是一种纯文本文件,其扩展名通常为 .md
.
与 HTML 和 Latex 等其他标记语言一样,它完全独立于 R。
没有明确定义的 Markdown 标准。这导致了碎片化,因为不同的供应商编写了自己的语言变体来纠正缺陷或添加缺失的功能。
Markdown(R包)
markdown
is an R package which converts .Rmd
files into HTML. It is the predecessor of rmarkdown
,它提供了更多的功能。不再推荐使用
R Markdown(标记语言)
R Markdown 是 markdown 语法的扩展。 R Markdown 文件是纯文本文件,通常具有文件扩展名 .Rmd
。它们是使用 markdown 语法的扩展编写的,使 R 代码能够以一种稍后可以执行的方式嵌入其中。
因为它们预计会被 rmarkdown
包处理,所以可以使用 Pandoc markdown syntax 作为 R markdown 文件的一部分。这是对原始 markdown 语法的扩展,它提供了额外的功能,如原始 HTML/Latex 和表格。
R Markdown(包)
R 包 rmarkdown
是一个库,可以处理 .Rmd
文件并将其转换为多种不同的格式。
核心函数是rmarkdown::render
其中stands on the shoulders of pandoc. This function 'renders the input file to the specified output format using pandoc. If the input requires knitting then knitr::knit
is called prior to pandoc.
RMarkdown 包的目标很简单 to provide reasonably good defaults and an R-friendly interface to customize Pandoc options.。
RMarkdown 文件顶部的 YAML 元数据专门用于将选项传递给 rmarkdown::render
,以指导构建过程。
请注意,RMarkdown 仅处理 markdown 语法。如果要转换 .Rhtml
或 .Rnw
文件,应使用 Knitr
中内置的便利函数,例如 knitr::knit2html
和 knitr:knit2pdf
针织衫
Knitr 获取带有嵌入式代码的纯文本文档,执行代码并将结果 'knits' 返回到文档中。
例如,它转换
- 将 R Markdown (
.Rmd
) 文件转换为标准 markdown 文件 (.md
)
- 一个
.Rnw
(Sweave)文件转换成.tex
格式。
- 一个
.Rhtml
文件到html.
核心功能是knitr::knit
,默认情况下,这将查看输入文档并尝试猜测它是什么类型——Rnw、Rmd 等
这个核心功能执行三个角色:
- 源解析器,它查看输入文档并检测哪些部分是用户想要评估的代码。
- 代码评估器,评估此代码
- 输出渲染器,它以原始输出类型可解释的格式将评估结果写回文档。例如,如果输入文件是 .Rmd
,则输出渲染以 .md
格式标记代码评估的输出。
文档格式之间的转换
Knitr 不会 在文档格式之间进行转换 - 例如将 .md
转换为 .html
。但是,它确实提供了一些便利函数来帮助您使用其他库来执行此操作。 如果您正在使用 rmarkdown
包,您应该忽略此功能,因为它已被 rmarkdown::render
取代。
例如 knitr:knit2pdf
,它将:'Knit the input Rnw or Rrst document, and compile to PDF using texi2pdf or rst2pdf'.
一个潜在的混淆来源是 knitr::knit2html
,"is a convenience function to knit the input markdown source and call markdown::markdownToHTML
to convert the result to HTML." This is now legacy functionality because the markdown
package has been superceded by the rmarkdown
package. See this note。
书本
bookdown 包建立在 R Markdown 之上,继承了 Markdown 语法的简单性,以及多种输出格式的可能性 (PDF/HTML/Word/…)。
它提供了多页 HTML 输出、编号和交叉引用 figures/tables/sections/equations、插入 parts/appendices 以及导入 GitBook 样式 (https://www.gitbook.com) 等功能创建优雅且吸引人的 HTML 书页。
R Markdown、Knitr、Pandoc 和 Bookdown 的功能之间有什么关系?
具体来说,在将带有嵌入式 R 代码的标记文档(例如 .Rnw
或 .Rmd
)转换为最终输出(例如 .pdf
或.html
)?如果 Knitr 用于处理 RMarkdown,那么 rmarkdown
包的作用是什么?它与 markdown package
有何不同?
潘多克
Pandoc 是一个文档转换器。它可以从多种不同的标记格式转换为多种其他格式,例如 .doc
、.pdf
等
Pandoc 是一个没有 GUI 的命令行工具。它是独立于 R 的独立软件。但是,它与 R Studio 捆绑在一起,因为 rmarkdown
依赖它进行文档转换。
Pandoc 不仅转换文档,而且还在基本 markdown 语言之上添加功能,使其能够支持更复杂的输出。
R 降价
R Markdown 基于 markdown:
Markdown(标记语言)
Markdown 是一种轻量级标记语言,采用纯文本格式化语法,可转换为 HTML 和许多其他格式。 Markdown 文件是一种纯文本文件,其扩展名通常为 .md
.
与 HTML 和 Latex 等其他标记语言一样,它完全独立于 R。
没有明确定义的 Markdown 标准。这导致了碎片化,因为不同的供应商编写了自己的语言变体来纠正缺陷或添加缺失的功能。
Markdown(R包)
markdown
is an R package which converts .Rmd
files into HTML. It is the predecessor of rmarkdown
,它提供了更多的功能。不再推荐使用
R Markdown(标记语言)
R Markdown 是 markdown 语法的扩展。 R Markdown 文件是纯文本文件,通常具有文件扩展名 .Rmd
。它们是使用 markdown 语法的扩展编写的,使 R 代码能够以一种稍后可以执行的方式嵌入其中。
因为它们预计会被 rmarkdown
包处理,所以可以使用 Pandoc markdown syntax 作为 R markdown 文件的一部分。这是对原始 markdown 语法的扩展,它提供了额外的功能,如原始 HTML/Latex 和表格。
R Markdown(包)
R 包 rmarkdown
是一个库,可以处理 .Rmd
文件并将其转换为多种不同的格式。
核心函数是rmarkdown::render
其中stands on the shoulders of pandoc. This function 'renders the input file to the specified output format using pandoc. If the input requires knitting then knitr::knit
is called prior to pandoc.
RMarkdown 包的目标很简单 to provide reasonably good defaults and an R-friendly interface to customize Pandoc options.。
RMarkdown 文件顶部的 YAML 元数据专门用于将选项传递给 rmarkdown::render
,以指导构建过程。
请注意,RMarkdown 仅处理 markdown 语法。如果要转换 .Rhtml
或 .Rnw
文件,应使用 Knitr
中内置的便利函数,例如 knitr::knit2html
和 knitr:knit2pdf
针织衫
Knitr 获取带有嵌入式代码的纯文本文档,执行代码并将结果 'knits' 返回到文档中。
例如,它转换
- 将 R Markdown (
.Rmd
) 文件转换为标准 markdown 文件 (.md
) - 一个
.Rnw
(Sweave)文件转换成.tex
格式。 - 一个
.Rhtml
文件到html.
核心功能是knitr::knit
,默认情况下,这将查看输入文档并尝试猜测它是什么类型——Rnw、Rmd 等
这个核心功能执行三个角色:
- 源解析器,它查看输入文档并检测哪些部分是用户想要评估的代码。
- 代码评估器,评估此代码
- 输出渲染器,它以原始输出类型可解释的格式将评估结果写回文档。例如,如果输入文件是 .Rmd
,则输出渲染以 .md
格式标记代码评估的输出。
文档格式之间的转换
Knitr 不会 在文档格式之间进行转换 - 例如将 .md
转换为 .html
。但是,它确实提供了一些便利函数来帮助您使用其他库来执行此操作。 如果您正在使用 rmarkdown
包,您应该忽略此功能,因为它已被 rmarkdown::render
取代。
例如 knitr:knit2pdf
,它将:'Knit the input Rnw or Rrst document, and compile to PDF using texi2pdf or rst2pdf'.
一个潜在的混淆来源是 knitr::knit2html
,"is a convenience function to knit the input markdown source and call markdown::markdownToHTML
to convert the result to HTML." This is now legacy functionality because the markdown
package has been superceded by the rmarkdown
package. See this note。
书本
bookdown 包建立在 R Markdown 之上,继承了 Markdown 语法的简单性,以及多种输出格式的可能性 (PDF/HTML/Word/…)。
它提供了多页 HTML 输出、编号和交叉引用 figures/tables/sections/equations、插入 parts/appendices 以及导入 GitBook 样式 (https://www.gitbook.com) 等功能创建优雅且吸引人的 HTML 书页。