从 Pandoc 到 Quarto:打造一条“公式、图表、代码全能”的文档工作流

在信息爆炸的今天,如何把一份 Markdown 文档优雅地转化为 Word、PDF、HTML,甚至带上漂亮的公式、图表和代码高亮?
答案往往离不开两个核心工具:PandocQuarto
本文会手把手带你理解这两个工具的定位、区别、用法,并解决新手常见的“文档转化痛点”。


一、为什么你需要 Pandoc?

很多人会问:
“我用 Word 不就够了吗?为什么还要 Pandoc?”

👉 问得好。因为 Word 只是一个编辑器,而 Pandoc 是一个“文档转换引擎”。

  • Word 只能输出 Word 文件,但 Pandoc 可以在几十种格式之间无缝转换,比如:

    • Markdown → Word
    • Markdown → LaTeX / PDF
    • Markdown → HTML(网页)
    • Markdown → EPUB(电子书)
    • Markdown → ODT、RTF 等冷门格式

简而言之,Pandoc 就像是“文档世界的 FFmpeg”,只要有它,你几乎能把任何文档转成你想要的格式。

📌 应用场景举例:

  • 学术人:把论文 Markdown 转成 LaTeX + PDF,完美支持公式。
  • 程序员:写好的 Markdown 项目文档,自动转成 HTML 在线文档。
  • 商务人士:把手册转成 Word 发给甲方,排版保持专业感。

二、Quarto 是什么?和 Pandoc 的关系?

很多新手第一次接触 Quarto,会有点迷惑:

“咦,Quarto 不是 Pandoc 的马甲吗?”

其实不完全对。你可以把两者关系理解为:

  • Pandoc = 发动机(提供强大文档转换能力)。
  • Quarto = 特斯拉车身 + 操控系统(包装 Pandoc,扩展交互功能,让非极客也能轻松驾驭)。

Quarto 的优势

  • 内置 可视化报告生成:支持 Markdown + 代码执行(Python、R、Julia、Observable JS)。
  • 原生支持 数学公式(MathJax/LaTeX 引擎)。
  • Mermaid 流程图开箱即用。
  • 能渲染 Jupyter Notebook,一键生成 PDF/Word/HTML。

换句话说,Pandoc 偏底层,而 Quarto 更偏“生态整合”,适合科研、技术博客、数据分析报告场景。


三、安装指南:如何正确配置 Pandoc 与 Quarto?

很多人安装时会遇到坑,这里一步步走👇

1. 安装 Pandoc

  • Mac(用 Homebrew):

    brew install pandoc
    
  • Linux(Debian/Ubuntu):

    sudo apt-get install pandoc
    
  • Windows:去官网 Pandoc 下载页,下载安装包即可。

验证是否安装成功:

pandoc -v

2. 安装 Quarto

  • Mac:

    brew install --cask quarto
    
  • Windows / Linux:去 Quarto 官网 下载对应安装包。

验证:

quarto --version

四、实战案例:从 Markdown 到 Word/PDF 的全链路

假设我们有一个 mydoc.md 文件,内容包含公式、Mermaid 图表、代码块和表格。

示例 Markdown 内容

# 我的报告

## 数学公式
爱因斯坦质能方程:
$$ E = mc^2 $$

## 代码块
```python
def hello():
    print("Hello, Pandoc & Quarto!")

Mermaid 流程图

graph TD
  A[输入] --> B[处理]
  B --> C[输出]

表格

姓名 年龄 职业
张三 28 程序员
李四 35 数据分析

---

### Pandoc 转换命令

1. 转 Word:
   ```bash
   pandoc mydoc.md -o mydoc.docx
  1. 转 PDF(需要安装 LaTeX 引擎,例如 TeX Live 或 MikTeX):

    pandoc mydoc.md -o mydoc.pdf
    
  2. 转 HTML(网页):

    pandoc mydoc.md -o mydoc.html
    

Quarto 渲染命令

如果你用 Quarto,文档扩展名是 .qmd,命令非常直观:

  1. 转 Word:

    quarto render mydoc.qmd --to docx
    
  2. 转 PDF:

    quarto render mydoc.qmd --to pdf
    
  3. 转 HTML:

    quarto render mydoc.qmd --to html
    

⚠️ 如果你遇到 No valid input files passed to render 错误,检查:

  • 文件是否命名为 .qmd 后缀。
  • 当前路径下是否存在 mydoc.qmd

五、FAQ:新手最常问的问题

Q1:公式为什么在 Word 里显示不对?

答:需要确保 Word 打开时加载的是 Office MathML 或者 Quarto 使用 MathJax 渲染。如果要完全兼容,建议转 PDF。

Q2:Mermaid 图表能在 Word 里显示吗?

答:Word 原生不支持。解决办法:

  • 用 Quarto 转 HTML(图表可见)。
  • 或者用插件导出 Mermaid → PNG,再插入 Word。

Q3:代码高亮为什么丢失了?

答:Pandoc 默认使用 --highlight-style 参数,可以选内置样式:

pandoc mydoc.md --highlight-style=pygments -o mydoc.pdf

Q4:我能把 Markdown 一键转成电子书吗?

答:完全可以,用 EPUB:

pandoc mydoc.md -o book.epub

六、知识图谱:Pandoc & Quarto 语义网络

工具 作用 典型用户
Pandoc 文档转换引擎 学术人、极客、程序员
Quarto 生态平台(报告、博客、书籍) 科研人员、博主、数据分析师

相关概念:

  • LaTeX:科学出版黄金标准
  • Markdown:轻量级标记语言
  • MathJax:网页公式渲染引擎
  • Mermaid:文本生成图表工具

七、结语:如何选择?

  • 如果你是 文档转换发烧友 → Pandoc 足够强大。

  • 如果你是 科研工作者 / 数据分析师 → Quarto 更合适,因为它不仅能写,还能跑代码、出图表。

  • 如果你是 博主/写作者 → 两者结合更完美:

    • 用 Markdown 写内容
    • 用 Quarto 渲染格式
    • 底层还是 Pandoc 负责转换

🎯 最佳实践:Markdown + Quarto + Pandoc,形成一条“一键多产”的写作流水线。


总结一句话

Pandoc 是“文档界的翻译官”,Quarto 是“带舞台的主持人”。前者解决格式问题,后者解决场景问题。只要学会这两把钥匙,你就能打开学术、博客、报告三大世界的大门。