Markdown 转 PDF 工具:在 Mac 上用命令行转换。
免费的 marsdawn 工具只要一个命令,就能把 Markdown 文件转成 PDF。表格、数学公式、Mermaid 图表和代码高亮,都会照源文件的样子呈现,而且不需要安装其他东西,连 MarsDawn app 都不用。
安装
brew install redtear1115/tap/marsdawn
marsdawn --version
在 Apple 芯片的 Mac 上,Homebrew 会直接安装预先构建好的版本,几秒就完成。在 Intel Mac 上则会从源代码构建,需要几分钟,也需要 Xcode 26 以上。这个工具需要 macOS 15 以上,marsdawn --version 会输出你装到的版本。
存一份文稿
把下面的内容贴进一个叫 plan.md 的文件:
# 计划:让输出更快
这份计划由 agent 撰写,你审阅后再把它转成 PDF。
## 步骤
| 步骤 | 负责 | 状态 |
|------|------|------|
| 找出慢的页面 | Agent | 完成 |
| 缓存算好的图表 | Agent | 审阅中 |
目标是 50 页的文稿在 $t < 2\,\text{s}$ 内完成:
$$
t_{\text{total}} = \sum_{i=1}^{n} t_i
$$
```mermaid
graph LR
草稿 --> 审阅 --> 发布
```
```swift
let pdf = try export("plan.md")
```
导出
marsdawn export plan.md
它会在源文件旁边写出 plan.pdf,并输出存放的位置:
Exported /Users/you/plan.pdf (1 page)
这是那一页,截取自 marsdawn 0.5.0 的实际运行结果:

选主题、纸张大小和文件名
marsdawn export plan.md --theme classic --paper letter -o handout.pdf
--theme:dawn、classic、modern 或 vivid,使用主题的浅色配色。没有指定时,export会用$MARSDAWN_THEME,再来才是 dawn。--paper:a4 或 letter,默认是 a4。-o:PDF 要写到哪里,而不是写在源文件旁边。--allow-remote-images:转换时加载网络上的图片。没加这个选项就不会加载。
如果没有成功
A full installation of Xcode.app 26.0 is required to compile this software.代表 Homebrew 正在从源代码构建marsdawn,这在 Intel Mac 上会发生。从 App Store 安装 Xcode 26 以上,再重新安装一次。marsdawn: No such file: …路径没有指到文件。确认文件名,或在文件所在的文件夹里运行命令。… already exists. Pass --force to replace it.同名的 PDF 已经存在。加上--force覆盖它,或用-o写到别的地方。Error: The value '…' is invalid for '--theme <theme>'.主题或纸张大小不是它认得的。主题有 dawn、classic、modern 和 vivid,纸张是 a4 或 letter。
接下来
- 所有选项和它输出的 JSON:命令行工具。
- 让写程序的 agent 帮你做这件事:marsdawn 的 agent skill。