从一个Rmd渲染多个输出



据称这是可能的,但当我使用RMarkdown Book中的代码示例时,我只得到一个输出,无论哪个输出先列出。

---
title: Render a table in a tiny environment
output:
pdf_document: default
html_document: default
---
````{r, setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
options(knitr.table.format = function() {
if (knitr::is_latex_output()) 'latex' else 'pandoc'
})
````

我正在使用RStudio 2022.07.1&针织物=1.39

选项1

可以在knityaml键中使用rmarkdown::render,并指定ouput_format = "all"将文档呈现为yaml部分中的所有指定格式。

---
title: Render a table in a tiny environment
output:
pdf_document: default
html_document: default
knit: (function(inputFile, encoding) {
rmarkdown::render(inputFile, encoding = encoding,
output_dir = "output", output_format = "all") })
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
This is an R Markdown document. Markdown is a simple formatting 
syntax for authoring HTML, PDF, and MS Word documents. 
For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

单击Knit后,输出文件夹中将同时包含pdf和html文件。

选项2

这实际上与选项1相同,但使用了一个稍微不同的工作流。

在您的Rmd文件yaml部分,您只需指定这样的输出格式,

---
title: Render a table in a tiny environment
output:
pdf_document: default
html_document: default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
This is an R Markdown document. Markdown is a simple formatting 
syntax for authoring HTML, PDF, and MS Word documents. 
For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

然后在控制台或另一个r-script中,运行这个

rmarkdown::render('multiple_output.Rmd',output_dir = "output", output_format = 'all')

同样,输出文件夹中也有pdf和html文件。

最新更新