← 返回栏目

Quarto:可重复报告与学术出版的开源排版系统,多语言版的“下一代 R Markdown”

RStudio 集成开发环境截图:编辑器中打开一份 R Markdown(.Rmd)源文件。

RStudio 中编辑 R Markdown 文件 Pulsar.Rmd 的截图,意大利语标注依次说明新建 .Rmd、Knit 编译为 HTML 或 Word、插入代码块(chunk)和运行 R 代码等按钮。编辑器里可见 YAML 头和 {r} 代码块,与 Quarto 的 .qmd 文件结构基本一致;但这是 2020 年的 R Markdown 界面而非 Quarto 界面,Quarto 中对应的按钮为 Render,格式写作 format: html 而非 output: html_document。作者:Lovepeacejoy404;来源:Wikimedia Commons;许可:CC BY-SA 4.0。

Quarto 是 Posit 主导开发的开源科学与技术出版系统,基于 Pandoc,把 Markdown 正文与 R、Python、Julia 等代码写进同一份源文件,再渲染成 HTML、PDF、Word、幻灯片、网站或书籍。官方称它是多语言的“下一代 R Markdown”。命令行工具采用 MIT 许可证,最新正式版 1.10.19 于 2026 年 10 月 6 日发布。本文为资料核验,未安装实测。

Quarto 与 R Markdown 的关系,官方 FAQ 讲得很直接:两者核心工作方式相同,Quarto 把 R Markdown 及其周边包(bookdown 写书,blogdown 和 distill 建站,xaringan 做幻灯片,rticles 套期刊模板等)的功能并入一套统一的系统。区别在于 R Markdown 绑定 R,Quarto 则不依赖 R,支持 knitr、Jupyter、Observable 等多种执行引擎,Julia 代码还可以走原生的 julia 引擎。处理 R 代码时 Quarto 仍调用 knitr,所以多数现有 .Rmd 文件和 Jupyter 笔记本不改就能渲染。渲染分两步:先由 knitr(或 Jupyter)执行代码块,生成包含代码和结果的 Markdown 文件,再由 Pandoc 转成目标格式。FAQ 同时说明,R Markdown 不会被弃用,仍会维护并修复缺陷,但不再规划大型新功能,部分新功能只会出现在 Quarto 中。许可证方面,官网写明 Quarto 命令行工具自 1.4 版起采用 MIT 许可证,1.3 及更早版本为 GPL v2;VS Code 扩展为 MIT,RStudio 与该扩展共用的可视化编辑器为 LGPL v3;所依赖的 Pandoc 为 GPL v2,Typst 为 Apache 2.0。仓库中的 COPYING.md 是 MIT 文本,但 GitHub 页面把许可证识别为“Other”,核对时应以官网许可页和 COPYING.md 为准。“Quarto”是 Posit 的注册商标,名称和标志的使用另有商标政策。2026 年 10 月 18 日查询时,代码仓库 quarto-dev/quarto-cli 未归档,创建于 2020 年 9 月,最近一次推送在 10 月 16 日(协调世界时),约有 6,100 个星标。版本方面,1.0 在 rstudio::conf(2022) 上宣布,下载页记载 1.0.38 发布于 2022 年 8 月 4 日;1.10 的发布文章刊于 2026 年 8 月 3 日,自述为以修复为主的维护版本,新增可离线运行、可指定 WCAG 等级的 HTML 无障碍检查,并把 Pandoc 升到 3.10;当前最新正式版 1.10.19 在 GitHub 上的发布时间为 2026 年 10 月 6 日。

对需要把数据分析和文字写在一起的研究者,Quarto 的核心价值是可重复:数据或假设变化后重新渲染,文中的数字、表格和图会一并更新。官网列出的学术写作要素包括公式、引文、交叉引用、多图面板和提示框;PDF 输出默认用 Pandoc 自带的 citeproc 处理引文,也可以改用 natbib 或 BibLaTeX,适应要求 LaTeX 源文件的出版社。1.4 版加入的“稿件”(manuscript)项目专为学术论文设计:以一个或多个笔记本或 .qmd 文件为来源,输出一个论文网站,正文旁提供 Word、套用期刊模板的 PDF 等格式下载,并链接到生成结果的笔记本;官方示例还附带 MECA 压缩包,用来把文章和附属材料打包交给出版社。期刊模板以扩展形式放在 GitHub 的 Quarto Journals 组织中,部分移植自 rticles。同一套写法还能产出 revealjs、PowerPoint、Beamer 幻灯片,以及仪表盘、网站、博客和书籍,课题组可以用它维护课程讲义、实验室主页或方法手册。在存档与无障碍方面,1.9 起可以用 pdf-standard 选项生成 PDF/UA(供屏幕阅读器使用)和 PDF/A(长期存档)文件,并调用 veraPDF 校验(需要 Java)。写作工具不受限制:RStudio(2022.07 及以上)、Positron、VS Code、Jupyter 或任意文本编辑器都可以,成品可以发布到 Posit Connect、Confluence 等平台。

RStudio 中用 knitr 处理动态文档的界面截图,展示源文件编辑与渲染过程

在 RStudio 中使用 knitr 的截图(2018 年 1 月)。knitr 是 Quarto 处理 R 代码时的执行引擎:渲染时先由它运行代码块、生成含结果的 Markdown,再交给 Pandoc 转成 HTML、PDF、Word 等格式。截图为 knitr / R Markdown 环境,并非 Quarto 界面。作者:Engelbert Niehaus;来源:Wikimedia Commons;许可:CC BY 4.0。

上手可以从官网 Get Started 页开始:先在下载页安装 Quarto 命令行工具(GitHub Release 提供 Windows 的 .msi 和 .zip、macOS 的 .pkg、Linux 的 .deb、.rpm 和 .tar.gz 安装包),再按自己用的编辑器选择对应教程。以 RStudio 教程为例:先装 tidyverse 和 palmerpenguins 两个 R 包,下载示例文件 hello.qmd,在 RStudio 中点 Render 按钮,就能在 Viewer 窗格预览生成的 HTML;勾选 Render on Save 可以在保存时自动重新渲染,也可以在 R 控制台安装 quarto 包后运行 quarto::quarto_render("hello.qmd")。一份 .qmd 文件由三部分组成:用三条短横线包围的 YAML 头(写 title、format 等设置),以 {r} 标记、用 #| 开头写选项的代码块,以及 Markdown 正文;RStudio 的可视化模式可以用工具栏排版,不熟悉 Markdown 也能写。要输出 PDF,还得另装 TeX,官方推荐运行 quarto install tinytex 安装 TinyTeX;默认引擎是 lualatex,默认纸张是美式 letter,中文文档需要用 CJKmainfont 指定系统里已安装的中文字体,按国内习惯还应把 papersize 改为 a4。R Markdown 用户迁移时,格式名要改写(如 html_document 改为 html,bookdown 对应 Quarto Books,xaringan 对应 revealjs);文档头部 YAML 不支持 !r 和 !expr 写法,代码块内的 YAML 选项只能用 !expr。以上步骤依据官方文档整理,资料核验,未安装实测。

使用时有几点需要留意。第一,工具链偏重。Quarto 1 把 Pandoc、Deno、Dart Sass、esbuild、Typst 等多个组件打包在一起,1.10.19 各平台安装包约 145–250 MB,生成 PDF 还要另装 TeX;官方在 Quarto 2 公告中也承认,这种把多个工具拼接起来的方式带来了长期存在的性能问题。第二,开发重心正在转移。2026 年 4 月 6 日,Posit 宣布用 Rust 完全重写 Quarto 2,预计至少 6 个月后才有公开版本,目标是兼容 Quarto 1 的项目和扩展,但承认早期会有缺口;1.10 的发布文章也说明,大部分开发精力已转向 Quarto 2。官方承诺 Quarto 1 在公告后至少一年内继续活跃开发、修复缺陷并接受合并请求,只使用工具的用户暂时不必改变工作流。长期项目最好在 README 或论文方法部分记下所用的 Quarto 版本,并留意后续迁移说明。第三,从 R Markdown 迁移并非全覆盖。FAQ 的对照表中,pagedown(分页 HTML)的对应功能仍标为“计划中”;自定义格式改用 Lua 编写的扩展,R Markdown 自定义格式中的前处理、后处理器等能力可能还做不到。第四,多格式输出要有取舍:直接写进文档的原始 LaTeX 在 HTML 和 Word 输出中会被忽略;合作者一人用可视化编辑器、一人用源码编辑器时,小改动也可能在 .qmd 文件里造成大面积变化,官方把这列为 Quarto 2 要解决的问题。第五,官方明确说 Quarto 本身不能保证文档满足无障碍要求,pdf-standard 校验和 axe 检查只能帮助发现问题,仍需人工处理。

参考文献

  1. Posit. Welcome to Quarto(官网首页). https://quarto.org/,访问于 2026-10-18。

  2. Quarto. FAQ for R Markdown Users. https://quarto.org/docs/faq/rmarkdown.html,访问于 2026-10-18。

  3. Quarto. Open Source License. https://quarto.org/license.html,访问于 2026-10-18。

  4. quarto-dev. COPYING.md. GitHub. https://github.com/quarto-dev/quarto-cli/blob/main/COPYING.md,访问于 2026-10-18。

  5. quarto-dev. quarto-cli 代码仓库. GitHub. https://github.com/quarto-dev/quarto-cli,2026-10-18 查询:未归档,最近推送 2026-10-16(UTC)。

  6. quarto-dev. Release v1.10.19. GitHub, 2026-10-06(UTC). https://github.com/quarto-dev/quarto-cli/releases/tag/v1.10.19

  7. Quarto. Download Quarto. https://quarto.org/docs/download/,访问于 2026-10-18。

  8. Wickham C. Quarto 1.10. Posit Open Source Blog, 2026-08-03. https://opensource.posit.co/blog/2026-08-03_quarto-1-10/

  9. Scheidegger C. What's next: Quarto 2. Posit Open Source Blog, 2026-04-06. https://opensource.posit.co/blog/2026-04-06_whats-next-quarto-2/

  10. Quarto. Quarto Manuscripts. https://quarto.org/docs/manuscripts/,访问于 2026-10-18。

  11. Quarto. Tutorial: Hello, Quarto(RStudio). https://quarto.org/docs/get-started/hello/rstudio.html,访问于 2026-10-18。

  12. Quarto. PDF Basics. https://quarto.org/docs/output-formats/pdf-basics.html,访问于 2026-10-18。

  13. 学术之门 · 学者的智能时代生活指南

  14. 信息由 Scholay 学术一站式平台 整理并发表,如有侵权请反馈下架。

  15. 信息同步发表于恩特学术,智能时代的学者社区