make-slides

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Make Slides

制作幻灯片

Turn an accepted (or nearly-done) paper into a conference talk deck — Beamer
.tex
or Marp markdown — built around a problem-first story, one claim per slide, the paper's own figures, and a slide count the slot can actually afford. The deck is the deliverable; the timed word-by-word script and Q&A drill are separate skills (
write-talk-script
,
rehearse-qa
).
将已录用(或接近完成)的论文转化为会议演讲幻灯片——支持Beamer
.tex
或 Marp markdown格式,围绕问题导向的叙事逻辑构建,每张幻灯片仅包含一个核心论点,复用论文自身的图表,且幻灯片数量符合演讲时长的实际承载能力。最终交付物为幻灯片,逐字计时脚本和问答演练属于独立技能(
write-talk-script
rehearse-qa
)。

When to use

使用场景

  • The paper got accepted and a talk slot is coming: build the deck.
  • The user has a slot length ("12 minutes plus 3 Q&A", "5-minute lightning") and needs a deck that fits it.
  • An existing deck is overlong, text-heavy, or paper-shaped and needs to be cut down to a talk.
Related skills:
write-talk-script
(timed speaker script for the deck),
rehearse-qa
(hostile/curious Q&A drill),
make-poster
(poster + 2-min/5-min pitches),
study-exemplars
(how strong papers at the venue frame contributions),
verify-citations
(gate for any reference that appears on a slide).
  • 论文已录用且即将获得演讲时段:制作幻灯片。
  • 用户已知演讲时长(如“12分钟演讲+3分钟问答”“5分钟闪电演讲”),需要适配该时长的幻灯片。
  • 现有幻灯片过长、文字过多或过于贴近论文结构,需要精简为适合演讲的版本。
相关技能:
write-talk-script
(为幻灯片生成计时演讲脚本)、
rehearse-qa
(模拟尖锐/好奇的问答演练)、
make-poster
(海报+2分钟/5分钟短演讲素材)、
study-exemplars
(学习该会议中优质论文的贡献呈现方式)、
verify-citations
(对幻灯片上出现的所有参考文献进行验证)。

Inputs

输入信息

  • The paper's main
    .tex
    file (preferred — figures are harvested from source) or the PDF plus the figure files.
  • The slot length and Q&A split, from the venue's presenter instructions or acceptance email. This is the one fact the skill cannot look up: venue profiles do not encode talk slots (they change year to year and per track). If the user does not know it, stop and ask — see references/venue-timing.md.
  • Optional:
    venues/conferences/<id>.yml
    for venue context (name, track, live URLs). Re-verify anything taken from a profile against the live
    cfp_url
    / venue site before the user relies on it.
  • Output format choice: Beamer (LaTeX toolchain, vector figures reused as-is) or Marp (markdown, fast iteration, figures must be PNG/SVG). Decision guide: references/deck-formats.md.
  • 论文的主
    .tex
    文件(优先选择——可直接从源文件提取图表)或PDF文件加图表文件。
  • 演讲时长与问答时间分配,需来自主办方的演讲者指南或录用邮件。这是该技能无法自主查询的信息:会议场地资料不会固定演讲时长(每年或不同分会场可能变化)。若用户不清楚该信息,请暂停并询问——详见references/venue-timing.md
  • 可选:
    venues/conferences/<id>.yml
    会议场地背景文件(名称、分会场、实时链接)。在用户依赖其中信息前,需通过实时
    cfp_url
    / 会议官网重新验证所有内容。
  • 输出格式选择:Beamer(LaTeX工具链,矢量图表原样复用)或Marp(markdown格式,迭代速度快,图表需为PNG/SVG格式)。决策指南:references/deck-formats.md

Process

流程

1. Pin down the slot, then budget the deck

1. 确认演讲时长,规划幻灯片预算

Confirm slot minutes and Q&A minutes with the user (ask; never assert a slot length from memory or from a venue profile — typical shapes and the verification checklist are in references/venue-timing.md). Then run, from the repo root:
python3 skills/make-slides/scripts/slide_budget.py --minutes <slot> --qa <qa> \
    [--format auto|full|lightning] [--venue-profile venues/conferences/<id>.yml] [--json]
It prints the content-slide target (~1 slide per speaking minute, hard max 1.25x) and a problem-first section allocation (minutes + slides per section) in the full-talk shape (12-20 min) or the lightning shape (<= 7 min). Treat the allocation as the storyboard skeleton.
与用户确认演讲时长和问答时长(务必询问;绝不要凭记忆或会议场地资料断言时长——典型时长结构及验证清单见references/venue-timing.md)。然后从仓库根目录运行:
python3 skills/make-slides/scripts/slide_budget.py --minutes <slot> --qa <qa> \
    [--format auto|full|lightning] [--venue-profile venues/conferences/<id>.yml] [--json]
该脚本会输出内容幻灯片目标数量(约每分钟演讲对应1张幻灯片,上限为1.25倍),并针对完整演讲(12-20分钟)或闪电演讲(≤7分钟)的结构,给出问题导向的各部分时长与幻灯片分配方案。将该分配方案作为故事板框架。

2. Inventory and harvest the paper's figures

2. 统计并提取论文图表

python3 skills/make-slides/scripts/extract_figures.py path/to/main.tex \
    --copy-to talk/assets [--json]
It follows
\input
/
\include
, resolves
\graphicspath
, and ranks every figure by how often the text references it — the most-referenced figures are usually the ones the talk is built around. It also counts table environments: tables almost never survive as slides; redesign each one as a chart or a single highlighted number. TikZ-only figures (no graphics file) must be recompiled or screenshot from the paper PDF.
If the deck will be Marp, convert harvested PDFs to PNG/SVG now (commands in references/deck-formats.md); Marp cannot render PDF images.
python3 skills/make-slides/scripts/extract_figures.py path/to/main.tex \
    --copy-to talk/assets [--json]
该脚本会追踪
\input
/
\include
指令,解析
\graphicspath
,并根据文中引用次数对所有图表排序——引用次数最多的图表通常是演讲的核心内容。同时统计表格环境:表格几乎无法直接作为幻灯片使用,需重新设计为图表或突出单个关键数据。仅含TikZ代码的图表(无图形文件)需重新编译或从论文PDF截图获取。
若选择Marp格式,需立即将提取的PDF图表转换为PNG/SVG格式(转换命令见references/deck-formats.md);Marp无法渲染PDF图片。

3. Storyboard: problem first, one claim per slide

3. 故事板:问题导向,每张幻灯片一个论点

Map the paper onto the budget's sections using references/narrative-storyboard.md. The non-negotiables:
  • Problem-first: open with why the problem matters, not an outline or the paper's section order. The talk is an advertisement for the paper, not a compression of it.
  • One claim per slide: every slide title is a full assertion — the sentence to be remembered if the audience reads nothing else ("LRU evicts the tiles a burst is about to revisit", not "Background"). Evidence (a figure, one number) supports the title; bullets are a last resort.
  • Numbers and claims on slides come from the paper or the user — never invent, round up, or extrapolate. Any cited work shown on a slide goes through
    verify-citations
    first.
  • Proofs, secondary ablations, and related-work depth move to backup slides after the final slide — they cost nothing against the budget.
Write the storyboard as a list (slide title-claim, supporting visual, ~seconds of talk) and confirm it with the user before drafting slides.
根据references/narrative-storyboard.md,将论文内容映射到预算分配的各部分。需遵守以下不可协商的规则:
  • 问题导向:开篇先说明问题的重要性,而非大纲或论文的章节顺序。演讲是对论文的宣传,而非压缩版。
  • 每张幻灯片一个论点:每张幻灯片的标题是完整的断言——即使观众只看标题也能记住核心信息(如“LRU会驱逐即将被突发访问的缓存块”,而非“背景介绍”)。用图表或单个数据作为论据支持标题;项目符号是最后的选择。
  • 幻灯片上的数据和论点必须来自论文或用户——绝不能编造、夸大或推断。幻灯片上出现的任何引用文献需先通过
    verify-citations
    验证。
  • 证明过程、次要消融实验和相关研究的深度内容需移至最后一张幻灯片后的备用幻灯片中——这些内容不占用预算时长。
将故事板写成列表(幻灯片标题论点、配套视觉素材、约需演讲时长),并在开始制作幻灯片前与用户确认。

4. Draft the deck

4. 生成幻灯片草稿

Build the deck from the approved storyboard using the skeletons in references/deck-formats.md:
  • Beamer:
    aspectratio=169
    , frame title = the claim, reuse paper PDFs via
    \includegraphics
    , speaker-note stubs in
    \note{}
    , backup frames after
    \appendix
    .
  • Marp:
    marp: true
    front matter,
    #
    /
    ##
    title = the claim, PNG/SVG images only, speaker-note stubs in
    <!-- -->
    comments, backup slides titled
    Backup: ...
    .
Write the deck and assets under
talk/
next to the paper (or where the user prefers); never overwrite an existing deck without confirming.
根据已确认的故事板,使用references/deck-formats.md中的模板构建幻灯片:
  • Beamer:设置
    aspectratio=169
    ,帧标题为论点,通过
    \includegraphics
    复用论文PDF图表,在
    \note{}
    中添加演讲提示占位符,备用帧放在
    \appendix
    之后。
  • Marp:添加
    marp: true
    前置声明,
    #
    /
    ##
    标题为论点,仅使用PNG/SVG图片,在
    <!-- -->
    注释中添加演讲提示占位符,备用幻灯片标题命名为
    Backup: ...
将幻灯片和素材保存到论文旁的
talk/
目录(或用户指定位置);未经确认绝不能覆盖现有幻灯片。

5. Lint, fix, re-lint

5. 检查、修复、重新检查

python3 skills/make-slides/scripts/deck_lint.py talk/slides.md|slides.tex \
    --minutes <SPEAKING minutes = slot - Q&A> [--strict] [--json]
Deterministic checks: pacing vs the slot, overfull slides (>100 words is a document, not a slide), bullet overload, generic non-claim titles, missing image files, Marp-unrenderable PDF images, tiny Beamer fonts. Fix every RISK and re-run until RISK-free; resolve pacing by cutting or merging slides, never by planning to talk faster.
python3 skills/make-slides/scripts/deck_lint.py talk/slides.md|slides.tex \
    --minutes <演讲时长 = 总时段 - 问答时长> [--strict] [--json]
确定性检查内容:与演讲时长匹配的节奏、内容过载的幻灯片(超过100字属于文档而非幻灯片)、项目符号过多、非论点式通用标题、缺失的图片文件、Marp无法渲染的PDF图片、Beamer字体过小。修复所有风险项并重新运行脚本,直到无风险;通过删减或合并幻灯片调整节奏,绝不要计划通过加快语速来适配时长。

6. Verify it builds, then hand off

6. 验证可编译性,交付成果

Compile the deck if the toolchain is available (
latexmk -pdf
for Beamer,
marp
CLI for Marp — commands in references/deck-formats.md); otherwise say explicitly that it was not compiled. Deliver the deck, the figure inventory, and the lint report, and point the user at
write-talk-script
to time the narration and
rehearse-qa
before the session. Remind them to re-check slot length, room aspect ratio, and any pre-recording requirement against the venue's presenter instructions.
若工具链可用,编译幻灯片(Beamer使用
latexmk -pdf
,Marp使用
marp
CLI——编译命令见references/deck-formats.md);否则需明确说明未进行编译。交付幻灯片、图表统计清单和检查报告,并引导用户使用
write-talk-script
为旁白计时,使用
rehearse-qa
进行演练。提醒用户根据主办方的演讲者指南再次确认演讲时长、会场屏幕比例和预录制要求。

Output

输出成果

  • talk/slides.md
    (Marp) or
    talk/slides.tex
    (Beamer) — RISK-free under
    deck_lint.py
    for the stated speaking time, with speaker-note stubs and backup slides.
  • talk/assets/
    — the paper figures the deck uses, harvested by
    extract_figures.py
    (converted for Marp).
  • The slide budget and figure inventory as the paper trail for what was cut and why.
  • talk/slides.md
    (Marp格式)或
    talk/slides.tex
    (Beamer格式)——经
    deck_lint.py
    检查无风险,符合指定演讲时长,包含演讲提示占位符和备用幻灯片。
  • talk/assets/
    ——幻灯片使用的论文图表,由
    extract_figures.py
    提取(已转换为Marp兼容格式)。
  • 幻灯片预算和图表统计清单,作为内容删减依据的记录。

Guardrails

约束规则

  • Never invent results, numbers, or comparisons for a slide; every figure and number traces to the paper or the user. Pending results get an explicit
    [RESULT]
    placeholder, flagged in the handoff.
  • Never fabricate citations on slides; anything cited goes through
    verify-citations
    .
  • Never assert slot lengths, room formats, or recording rules from memory or from a venue profile — presenter instructions and the acceptance email are ground truth; label anything unconfirmed as UNVERIFIED.
  • Never bundle or paste another paper's slides or text as a template; exemplar study happens transiently via
    study-exemplars
    .
  • Never upload or submit the deck anywhere on the user's behalf.
  • 绝不为幻灯片编造结果、数据或对比内容;所有图表和数据必须追溯到论文或用户。未确定的结果需添加明确的
    [RESULT]
    占位符,并在交付时标注。
  • 绝不在幻灯片上伪造参考文献;所有引用内容需先通过
    verify-citations
    验证。
  • 绝不要凭记忆或会议场地资料断言演讲时长、会场格式或录制规则——演讲者指南和录用邮件是唯一依据;未确认的内容需标注为UNVERIFIED。
  • 绝不要将其他论文的幻灯片或文本作为模板打包粘贴;仅可通过
    study-exemplars
    临时学习范例。
  • 绝不要代表用户上传或提交幻灯片。