1

这有可能吗?目前我必须渲染我的 .Rmd 文件两次,一次用于 html,一次用于 pdf 报告。他们每个人大约需要50分钟。因此,如果我可以使用渲染后创建的 html .md 文件,那将为我节省 50 分钟。

4

4 回答 4

3

您可以保留 knitr 的降价输出keep_md: yes

---
output:
  html_document:
    keep_md: yes
---

然后,使用 pandoc,您可以从此文件生成 pdf;在终端(不是 R 控制台)中:

pandoc mydoc.md -o mydoc.pdf

如果你还没有安装 pandoc,你必须安装 pandoc,才能在没有 knitr 的情况下使用它。

但是,您可能会丢失一些东西,因为 knitr 将其 md 中间文件调整为最终输出。

于 2017-03-14T17:04:22.247 回答
1

可以渲染多个输出,但不能使用 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

或者您要为不同的输出格式设置的任何选项。

于 2017-03-14T16:57:14.850 回答
1

如果您的.md文档已经创建,您可以简单地使用:

library("rmarkdown")
render("mydoc.md", output_format = "pdf_document")

如果您总是需要同时生成 html 和 pdf,则使用 J_F 的解决方案同时渲染两者。

于 2017-03-14T17:02:13.407 回答
0

或者,您可以告诉编译器保留中间 .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
---
于 2017-03-14T17:16:57.850 回答