You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从单个Rmd生成多输出失败:仅得到首个指定输出

单个Rmd文件生成多输出的问题解决

问题描述

资料显示单个Rmd文件可生成多种输出格式,但使用《RMarkdown Book》中的示例代码时,仅能得到YAML里首个列出的输出。当前环境为RStudio 2022.07.1、knitr=1.39,示例代码如下:

---
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界面的「Knit」按钮默认只会渲染YAML中第一个指定的输出格式,要生成所有列出的输出,需用R代码调用`rmarkdown::render()`函数:
  ```r
  # 替换为你的Rmd文件名
  rmarkdown::render("your_file.Rmd", output_format = "all")
  • 可选:为避免多格式输出文件重名覆盖,可在YAML头部添加output_dir指定输出目录:
    ---
    title: Render a table in a tiny environment
    output:
      pdf_document: default
      html_document: default
    output_dir: "outputs" # 所有输出文件会保存到当前目录下的outputs文件夹
    ---
    

补充说明

RStudio的「Knit」按钮是为快速预览单格式输出设计的,批量生成多格式输出需要通过rmarkdown::render()函数主动指定output_format = "all",这样就能一次性生成所有YAML中定义的输出文件。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:30:58