gpt4 book ai didi

r-markdown - 如何将 R Markdown 文件转换为PDF文件?

转载 作者:行者123 更新时间:2023-12-03 04:32:17 36 4
gpt4 key购买 nike

我之前曾询问过 commands for converting R Markdown to HTML

将 R Markdown 文件转换为 PDF 文档的好方法是什么?

一个好的解决方案会保留尽可能多的内容(例如图像、方程、html 表格等)。该解决方案需要能够从命令行运行。一个好的解决方案还应该是跨平台的,并且理想情况下最大限度地减少依赖关系,以便更容易共享 makefile 等。

具体来说,有很多选择:

  • 是否将 RMD 转换为 MD 转换为 HTML 转换为 PDF;或 RMD 转 MD 转 PDF;或 RMD 转 PDF
  • 如果在 R 中使用 markdown 包,需要指定哪些选项
  • 是否使用 pandoc、R 内置包或其他内容

这是一个示例 rmd file这大概为任何提议的解决方案提供了合理的测试。它被用作 this blog post 的基础.

最佳答案

更新答案(2013 年 2 月 10 日)

Markdown 包:现在有一个rmarkdown package available on github与 Pandoc 接口(interface)。它包含一个渲染函数。该文档非常清楚地说明了如何将 rmarkdown 转换为 pdf 等一系列其他格式。这包括在 rmarkdown 文件中包含输出格式或运行向 rend 函数提供输出格式。例如,

render("input.Rmd", "pdf_document")

命令行:当我从命令行运行 render 时(例如,使用 makefile),有时会遇到找不到 pandoc 的问题。据推测,它不在搜索路径上。以下答案解释how to add pandoc to the R environment .

例如,在我运行 OSX 的计算机上,我通过 RStudio 获得了 pandoc 的副本,我可以使用以下命令:

Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown);  library(utils); render('input.Rmd', 'pdf_document')"
<小时/>

旧答案(大约 2012 年)

因此,许多人建议 Pandoc 是最佳选择。请参阅下面的注释,了解拥有最新版本的 Pandoc 的重要性。

使用 Pandoc

我使用以下命令将 R Markdown 转换为 HTML(即 a variant of this makefile ),其中 RMDFILE 是不带 .rmd 的 R Markdown 文件的名称组件(它还假设扩展名是 .rmd 而不是 .Rmd)。

RMDFILE=example-r-markdown  
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"

然后使用此命令转换为 pdf

Pandoc -s example-r-markdown.html -o example-r-markdown.pdf

<小时/>关于此的一些注意事项:

  • 我删除了示例文件中将绘图导出到 imgur 以托管图像的引用。
  • 我删除了对 imgur 上托管的图像的引用。数字似乎需要是本地的。
  • markdownToHTML 函数中的选项意味着图像引用是对文件的引用,而不是对 HTML 文件中存储的数据的引用(即,我从选项中删除了 'base64_images'列表)。
  • 结果输出看起来像 this 。它显然制作了一个非常 LaTeX 风格的文档,与我从浏览器将 HTML 文件打印为 pdf 时得到的文档形成鲜明对比。

获取最新版本的 Pandoc

正如 @daroczig 所提到的,为了输出 pdf,拥有最新版本的 Pandoc 非常重要。截至 2012 年 6 月 15 日,在 Ubuntu 上,我在包管理器中一直使用 Pandoc 1.8.1 版本,但似乎来自 change log要获得 pdf 支持,您至少需要 1.9+ 版本的 Pandoc。

因此,我安装了caball-install。然后运行:

cabal update
cabal install pandoc

Pandoc 安装在 ~/.cabal/bin/pandoc因此,当我运行 pandoc 时,它仍然看到旧版本。请参阅此处 adding to the path .

关于r-markdown - 如何将 R Markdown 文件转换为PDF文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025123/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com