基于 Rhetoric of Decks 哲学的幻灯片设计与生成指导。适用于"做个汇报""做 slides""做幻灯片""写个 deck""设计演示文稿""把论文做成 slides"等请求。涵盖 Beamer 与 RevealJS/Quarto 两种格式,提供从叙事结构、视觉设计到认知负荷优化的完整原则体系。
幻灯片设计与生成的实操指南。核心来源:Scott Cunningham 的 Rhetoric of Decks 哲学。
读完所有标题的人应该能理解你的整个论点。
| ❌ 弱标题 | ✅ 强标题 |
|---|---|
| "结果" | "处理组平均增加 61 英里" |
| "文献综述" | "已有工作忽略了供给侧边际" |
| "方法" | "我们利用县级诊所关闭的变异进行识别" |
| "数据分析" | "用户留存在第 7 天出现断崖式下跌" |
最优 deck 使每张 slide 的「边际收益/边际成本」相等:
审查方法:逐张问"再加一个元素,收益能覆盖认知成本吗?再删一个,损失大于清晰度提升吗?"
空白不是浪费。满屏内容暗示恐惧——怕漏掉什么。留白暗示你知道什么重要。
列表往往意味着你没找到信息之间的结构。问自己:
例外:真正平行的条目(公理列表、定理条件)适合用 bullet。
| 幕 | 作用 | 做什么 |
|---|---|---|
| 第一幕:问题 | 制造张力 | 建立现状 → 引入挑战/问题 → 让观众感受痛点 |
| 第二幕:探索 | 推进论证 | 你做了什么 → 发现了什么 → 构建逻辑链 |
| 第三幕:解答 | 释放张力 | 核心洞察 → 意义/影响 → 行动呼吁 |
先说结论,再给证据。观众不是悬疑小说读者。
✅ 正确顺序:结论 → 支撑证据 → 为什么重要 ❌ 错误顺序:背景 → 更多背景 → 分析 → 终于到了结论
教学例外:当教学目标是让学生理解推理过程(而非结论),可以逐步推导再揭示结果。
开场(第一张内容 slide 最重要,60 秒内决定观众是否注意):
结尾(最后一张 slide 决定他们记住什么):
在 Q&A 之前主动展示最强反驳:
"有人会质疑:[最强反对意见]" "这个质疑合理,因为 [为什么合理]" "我们这样回应:[你的应对]"
效果:建立可信度(ethos)+ 预防性回答 + 展示严谨思考。
开始制作前先确认受众类型,再选择对应风格:
\pause(Beamer)或 fragment(RevealJS)如需配色方案,参见 references/palettes.md。
适合:数学密集、需要精确排版控制、传统学术场景。
详见 references/beamer-template.md。
适合:HTML 交互、嵌入代码输出、在线分享。
详见 references/revealjs-template.md。
每次编辑 .tex 或 .qmd 后,必须执行以下验证。不通过则不算完成。
# Beamer(推荐 XeLaTeX 用于中文)
xelatex -interaction=nonstopmode deck.tex
# 或通过 Overleaf
bash ol.sh compile "项目名" --compiler xelatex
grep "^!" deck.log
有任何输出 → 修复后重新编译。
grep -cE "Overfull|Underfull" deck.log
必须返回 0。对每个警告:
| 警告 | 修复方法 |
|---|---|
| Overfull hbox | 缩短文字、用 \adjustbox、表格加 @{} |
| Underfull hbox | 调整段落换行 |
| Overfull vbox | 拆分 slide、减少 \vspace、压缩内容 |
| Underfull vbox | 加 \vfill 或调整间距 |
即使只溢出 0.5pt 也必须修复。
grep -i "font" deck.log | grep -i "warning"
TikZ 错误不会触发编译警告,必须手动检查。详见 references/tikz-rules.md。
按顺序执行四轮 Pass:
above/below/left/right无 TikZ 内容时跳过。
此步骤默认跳过,仅在用户明确要求时启用(如「帮我看看视觉效果」「用视觉检查」「开启视觉审查」)。
启用后,先将 PDF 转为图片,再为每一页 slide 分别启动 figure-checker 子代理做视觉审查。
# Convert PDF to slide images
pdftoppm -jpeg -jpegopt quality=85 -r 150 deck.pdf /tmp/deck-review/slide
# For each slide image, spawn figure-checker
spawn agent=figure-checker task="Check the image at: /tmp/deck-review/slide-01.jpg
Scene: slides
Intent: <slide title or content description>
Additional context:
- This is slide N of a presentation deck
- Topic: <deck topic>
- Check for: text overflow, readability at distance, layout balance, color contrast"
为什么是 150 DPI JPEG:
figure-checker会在内部处理图像压缩与视觉审查输入,150 DPI JPEG 已足够清晰且体积较小,适合直接使用,无需额外转 PNG 或进一步压缩。
figure-checker 会自动检查以下问题:
| 检查项 | 具体内容 |
|---|---|
| 文字溢出 | 文字是否被截断、超出 slide 边界 |
| TikZ 碰撞 | 节点/箭头/label 是否重叠 |
| 布局均衡 | 内容是否居中、留白是否合理 |
| 字号一致性 | 同级元素字号是否统一 |
| 颜色一致性 | 跨 slide 相同角色颜色是否一致 |
| 可读性 | 后排观众能否读清 |
| MB/MC 均衡 | 是否有 slide 明显过载或过空 |
汇总所有 slide 的检查结果:只要任意一页返回 ❌ REGENERATE,就必须回到 .tex 源文件修复问题,并从 Step 1 重新开始完整验证。只有全部 slide 通过后,才可继续交付用户。
编译 → 查错 → 查警告 → 查字体 → 查 TikZ → [可选] Agent 看图自审 → 交付用户
↑ |
└───────── 有问题则修复后重新开始 ←──────────────────────────────┘
全部通过后才可交付。
| 失败 | 修复 |
|---|---|
| 文字墙 | 提取关键短语,其余是讲稿 |
| 重点埋到第 15 张 | 第 2 张就说结论 |
| 图表垃圾(3D 柱状图等) | 删到不能再删为止 |
| 大纲 8-12 项 | 最多三节,或直接删掉大纲 |
| "Questions?" 结尾 | 用一句话要点结尾 |
| 无证据断言 | 每个主张配来源 |
| 装饰性图片 | 删掉,留白更好 |
| 焦虑性塞满 | 精简的 slide 迫使你掌握内容 |