这有可能吗?目前我必须渲染我的 .Rmd 文件两次,一次用于 html,一次用于 pdf 报告。他们每个人大约需要50分钟。因此,如果我可以使用渲染后创建的 html .md 文件,那将为我节省 50 分钟。
4 回答
您可以保留 knitr 的降价输出keep_md: yes
---
output:
html_document:
keep_md: yes
---
然后,使用 pandoc,您可以从此文件生成 pdf;在终端(不是 R 控制台)中:
pandoc mydoc.md -o mydoc.pdf
如果你还没有安装 pandoc,你必须安装 pandoc,才能在没有 knitr 的情况下使用它。
但是,您可能会丢失一些东西,因为 knitr 将其 md 中间文件调整为最终输出。
可以渲染多个输出,但不能使用 RStudio 中的“编织”按钮。在 YAML 标头中写入所需的输出,然后使用 output_format = "all" 作为参数
rmarkdown::render(<your-rmd-file.rmd>, output_format ="all")
所以 YAML 标头看起来像:
title: "multiple outputs"
output:
pdf_document: default
html_document: default
或者您要为不同的输出格式设置的任何选项。
如果您的.md
文档已经创建,您可以简单地使用:
library("rmarkdown")
render("mydoc.md", output_format = "pdf_document")
如果您总是需要同时生成 html 和 pdf,则使用 J_F 的解决方案同时渲染两者。
或者,您可以告诉编译器保留中间 .md 文件。然后,您可以轻松地将其编译成其他格式。
转到:
1. RStudio > 打开您的 .Rmd 文件
2. 单击 Gear(设置)下拉菜单并选择Output Options
3. 选择Advanced
4. 检查Keep markdown source file
5. 单击 OK
6. Knit to HTML
7. 在编辑器中打开 .md 文件
8. 在 Gear (设置)下拉,选择 PDF 作为输出格式,并选择(No Preview)
9. 在预览下拉菜单中,选择Preview PDF
并创建一个 .pdf 文件
作为步骤 2-5 的替代方法,编辑您的文件,使标题包括:
---
title: "blah blah"
output:
html_document:
keep_md: yes
---