paper-slides

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Paper Slides: From Paper to Conference Talk

论文转幻灯片:从论文到会议报告

Generate conference presentation slides from: $ARGUMENTS
从以下内容生成会议演示幻灯片:$ARGUMENTS

Context

背景

This skill runs after Workflow 3 (
/paper-writing
). It takes a compiled paper and generates a presentation slide deck for conference oral talks, spotlight presentations, or poster lightning talks.
Unlike posters (single page, visual-first), slides tell a temporal story: each slide builds on the previous one, with progressive revelation of the research narrative. A good talk makes the audience understand why this matters before showing what was done.
本技能需在工作流3(
/paper-writing
)完成后运行。它会接收已编译的论文,为会议口头报告、焦点报告或海报闪电报告生成演示幻灯片套件。
与海报(单页、视觉优先)不同,幻灯片讲述的是时序化故事:每张幻灯片都基于前一张内容展开,逐步呈现研究叙事。一份优秀的报告应先让听众理解「这项研究为何重要」,再展示「我们做了什么」。

Constants

常量配置

  • VENUE =
    NeurIPS
    — Target venue, determines color scheme. Supported:
    NeurIPS
    ,
    ICML
    ,
    ICLR
    ,
    AAAI
    ,
    ACL
    ,
    EMNLP
    ,
    CVPR
    ,
    ECCV
    ,
    GENERIC
    . Override via argument.
  • TALK_TYPE =
    spotlight
    — Talk format. Options:
    oral
    (15-20 min),
    spotlight
    (5-8 min),
    poster-talk
    (3-5 min),
    invited
    (30-45 min). Determines slide count and content depth.
  • TALK_MINUTES = 15 — Talk duration in minutes. Auto-adjusts slide count (~1 slide/minute for oral, ~1.5 slides/minute for spotlight). Override explicitly if needed.
  • ASPECT_RATIO =
    16:9
    — Slide aspect ratio. Options:
    16:9
    (default, modern projectors),
    4:3
    (legacy).
  • SPEAKER_NOTES = true — Generate
    \note{}
    blocks in beamer and corresponding PPTX notes. Set
    false
    for clean slides without notes.
  • PAPER_DIR =
    paper/
    — Directory containing the compiled paper.
  • OUTPUT_DIR =
    slides/
    — Output directory for all slide files.
  • REVIEWER_MODEL =
    gpt-5.4
    — Model used via Codex MCP for slide review.
  • AUTO_PROCEED = false — At each checkpoint, always wait for explicit user confirmation.
  • COMPILER =
    latexmk
    — LaTeX build tool.
  • ENGINE =
    pdflatex
    — LaTeX engine. Use
    xelatex
    for CJK text.
💡 Override:
/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3
  • VENUE =
    NeurIPS
    — 目标会议,决定配色方案。支持的会议:
    NeurIPS
    ICML
    ICLR
    AAAI
    ACL
    EMNLP
    CVPR
    ECCV
    GENERIC
    。可通过参数覆盖默认值。
  • TALK_TYPE =
    spotlight
    — 报告格式。可选值:
    oral
    (15-20分钟)、
    spotlight
    (5-8分钟)、
    poster-talk
    (3-5分钟)、
    invited
    (30-45分钟)。决定幻灯片数量和内容深度。
  • TALK_MINUTES = 15 — 报告时长(分钟)。会自动调整幻灯片数量(口头报告约1分钟/张,焦点报告约1.5分钟/张)。如有需要可手动覆盖。
  • ASPECT_RATIO =
    16:9
    — 幻灯片宽高比。可选值:
    16:9
    (默认,适配现代投影仪)、
    4:3
    ( legacy设备)。
  • SPEAKER_NOTES = true — 在beamer中生成
    \note{}
    块,并同步生成对应的PPTX备注。若需无备注的简洁幻灯片,可设置为
    false
  • PAPER_DIR =
    paper/
    — 存放已编译论文的目录。
  • OUTPUT_DIR =
    slides/
    — 所有幻灯片文件的输出目录。
  • REVIEWER_MODEL =
    gpt-5.4
    — 通过Codex MCP用于幻灯片审核的模型。
  • AUTO_PROCEED = false — 在每个检查点,始终等待用户明确确认后再继续
  • COMPILER =
    latexmk
    — LaTeX构建工具。
  • ENGINE =
    pdflatex
    — LaTeX引擎。若论文包含中日韩文本,使用
    xelatex
💡 覆盖默认值示例:
/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3

Talk Type → Slide Count

报告类型 → 幻灯片数量

Talk TypeDurationSlidesContent Depth
poster-talk
3-5 min5-8Problem + 1 method slide + 1 result + conclusion
spotlight
5-8 min8-12Problem + 2 method + 2 results + conclusion
oral
15-20 min15-22Full story with motivation, method detail, experiments, analysis
invited
30-45 min25-40Comprehensive: background, related work, deep method, extensive results, discussion
报告类型时长幻灯片数量内容深度
poster-talk
3-5分钟5-8张问题 + 1张方法页 + 1张结果页 + 结论
spotlight
5-8分钟8-12张问题 + 2张方法页 + 2张结果页 + 结论
oral
15-20分钟15-22张完整叙事:动机、方法细节、实验、分析
invited
30-45分钟25-40张全面覆盖:背景、相关工作、深度方法、大量结果、讨论

Venue Color Schemes

会议配色方案

Same as
/paper-poster
:
VenuePrimaryAccentBackgroundText
NeurIPS
#8B5CF6
#2563EB
#FFFFFF
#1E1E1E
ICML
#DC2626
#1D4ED8
#FFFFFF
#1E1E1E
ICLR
#059669
#0284C7
#FFFFFF
#1E1E1E
CVPR
#2563EB
#7C3AED
#FFFFFF
#1E1E1E
GENERIC
#334155
#2563EB
#FFFFFF
#1E1E1E
/paper-poster
一致:
会议主色调强调色背景色文字色
NeurIPS
#8B5CF6
#2563EB
#FFFFFF
#1E1E1E
ICML
#DC2626
#1D4ED8
#FFFFFF
#1E1E1E
ICLR
#059669
#0284C7
#FFFFFF
#1E1E1E
CVPR
#2563EB
#7C3AED
#FFFFFF
#1E1E1E
GENERIC
#334155
#2563EB
#FFFFFF
#1E1E1E

State Persistence (Compact Recovery)

状态持久化(快速恢复)

Persist state to
slides/SLIDES_STATE.json
after each phase:
json
{
  "phase": 3,
  "venue": "NeurIPS",
  "talk_type": "spotlight",
  "slide_count": 10,
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}
On startup: if
SLIDES_STATE.json
exists with
"status": "in_progress"
and within 24h → resume. Otherwise → fresh start.
在每个阶段完成后,将状态保存到
slides/SLIDES_STATE.json
json
{
  "phase": 3,
  "venue": "NeurIPS",
  "talk_type": "spotlight",
  "slide_count": 10,
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}
启动时:若存在
SLIDES_STATE.json
"status": "in_progress"
,且时间在24小时内,则恢复之前的工作流。否则,从头开始。

Workflow

工作流

Phase 0: Input Validation & Setup

阶段0:输入验证与环境准备

  1. Check prerequisites:
    bash
    which pdflatex && which latexmk
  2. Verify paper exists:
    bash
    ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
    ls $PAPER_DIR/sections/*.tex
    ls $PAPER_DIR/figures/
  3. Backup existing slides: if
    slides/
    exists, copy to
    slides-backup-{timestamp}/
  4. Create output directory:
    mkdir -p slides/figures
  5. Detect CJK: if paper contains Chinese/Japanese/Korean, set ENGINE to
    xelatex
  6. Determine slide count: from TALK_TYPE and TALK_MINUTES using the table above
  7. Check for resume: read
    slides/SLIDES_STATE.json
    if it exists
State: Write
SLIDES_STATE.json
with
phase: 0
.
  1. 检查前置依赖
    bash
    which pdflatex && which latexmk
  2. 验证论文文件存在
    bash
    ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
    ls $PAPER_DIR/sections/*.tex
    ls $PAPER_DIR/figures/
  3. 备份现有幻灯片:若
    slides/
    目录已存在,将其复制到
    slides-backup-{timestamp}/
  4. 创建输出目录
    mkdir -p slides/figures
  5. 检测中日韩文本:若论文包含中文/日文/韩文,将ENGINE设置为
    xelatex
  6. 确定幻灯片数量:根据TALK_TYPE和TALK_MINUTES,参考上方表格计算
  7. 检查是否恢复工作流:若存在
    slides/SLIDES_STATE.json
    则读取状态
状态保存:写入
SLIDES_STATE.json
,标记
phase: 0

Phase 1: Content Extraction & Slide Outline

阶段1:内容提取与幻灯片大纲

Read
paper/sections/*.tex
and build a slide-by-slide outline.
Slide template by talk type:
读取
paper/sections/*.tex
并逐张构建幻灯片大纲。
按报告类型划分的幻灯片模板

Oral (15-22 slides)

口头报告(15-22张)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2OutlineSection headersNo
3-4Motivation & ProblemIntroductionOptional
5Key InsightIntroduction (contribution)No
6-9MethodMethod sectionYes (hero figure)
10-14ResultsExperimentsYes (per slide)
15-16Analysis / AblationsExperimentsYes
17LimitationsConclusionNo
18Conclusion / TakeawayConclusionNo
19Thank You + QRQR code
幻灯片序号用途内容来源是否使用图片
1标题页论文元数据
2报告大纲章节标题
3-4动机与问题阐述引言部分可选
5核心创新点引言(贡献部分)
6-9方法介绍方法章节是(核心图)
10-14实验结果实验章节是(每页一张)
15-16分析/消融实验实验章节
17研究局限性结论部分
18结论/核心收获结论部分
19致谢+二维码二维码

Spotlight (8-12 slides)

焦点报告(8-12张)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2-3Problem + Why It MattersIntroductionOptional
4Key InsightContributionNo
5-6MethodMethod (condensed)Yes (hero)
7-9ResultsKey results onlyYes
10TakeawayConclusionNo
11Thank You + QRQR code
幻灯片序号用途内容来源是否使用图片
1标题页论文元数据
2-3问题与重要性阐述引言部分可选
4核心创新点贡献部分
5-6方法简介方法章节(精简版)是(核心图)
7-9关键结果仅展示核心实验结果
10核心收获结论部分
11致谢+二维码二维码

Poster-talk (5-8 slides)

海报闪电报告(5-8张)

SlidePurposeContent SourceFigure?
1TitlePaper metadataNo
2ProblemIntroduction (1 slide)No
3MethodMethod (1 slide)Yes
4-5ResultsKey result onlyYes
6Takeaway + QRConclusionQR
For each slide, specify:
  • Title (max 8 words)
  • 3-5 bullet points (max 8 words each)
  • Figure reference (if any) from paper/figures/
  • Speaker note (2-3 sentences of what to say)
  • Time allocation (in seconds)
Output:
slides/SLIDE_OUTLINE.md
🚦 Checkpoint:
📊 Slide outline ready:
- Talk type: [TALK_TYPE] ([TALK_MINUTES] min)
- Slide count: [N] slides
- Figures used: [N] from paper/figures/
- Time budget: [breakdown]

Slide-by-slide outline:
1. [Title slide]
2. [Motivation — 1.5 min]
3. [Problem statement — 1 min]
...

Proceed to drafting? Or adjust the outline?
⛔ STOP HERE and wait for user response. This is the most critical checkpoint — the outline determines the entire talk flow.
Options:
  • "go" → proceed to Phase 2
  • adjustments (e.g., "merge slides 3-4", "add a demo slide", "cut the ablation") → revise
  • "stop" → save to
    slides/SLIDE_OUTLINE.md
State: Write
SLIDES_STATE.json
with
phase: 1
.
幻灯片序号用途内容来源是否使用图片
1标题页论文元数据
2问题阐述引言(单页)
3方法介绍方法章节
4-5核心结果仅展示关键结果
6核心收获+二维码结论部分二维码
每张幻灯片需明确
  • 标题(最多8个单词)
  • 3-5个要点(每个要点最多8个单词)
  • 图片引用(若有),来自paper/figures/目录
  • 演讲者备注(2-3句话,提示演讲内容)
  • 时间分配(秒为单位)
输出文件
slides/SLIDE_OUTLINE.md
🚦 检查点:
📊 幻灯片大纲已生成:
- 报告类型:[TALK_TYPE]([TALK_MINUTES]分钟)
- 幻灯片数量:[N]张
- 使用图片数量:[N]张,来自paper/figures/
- 时间分配明细:[breakdown]

逐张幻灯片大纲:
1. [标题页]
2. [动机 — 1.5分钟]
3. [问题陈述 — 1分钟]
...

是否继续进入草稿生成阶段?或需要调整大纲?
⛔ 在此处暂停,等待用户回复。 这是最关键的检查点——大纲决定了整个报告的叙事逻辑。
可选操作:
  • "go" → 进入阶段2
  • 提出调整需求(例如:"合并第3-4张幻灯片"、"添加演示幻灯片"、"移除消融实验部分")→ 修改大纲
  • "stop" → 将大纲保存到
    slides/SLIDE_OUTLINE.md
状态保存:写入
SLIDES_STATE.json
,标记
phase: 1

Phase 2: Slide-by-Slide Content Drafting

阶段2:逐张幻灯片内容撰写

For each slide in the outline, draft the actual content.
Presentation rules (enforced strictly):
RuleRationale
One message per slideIf a slide has two ideas, split it
Max 6 lines per slideMore than 6 lines = wall of text
Max 8 words per lineAudience reads, not listens, if text is long
Sentence fragments, not sentences"Improves F1 by 3.2%" not "Our method improves the F1 score by 3.2 percentage points"
Figure slides: figure ≥60% areaThe figure IS the content; bullets are annotations
Bold key numbers"Achieves 94.3% accuracy"
Progressive disclosureUse
\pause
or
\onslide
for complex slides
No Related Work slideUnless invited talk (30+ min)
For each slide, produce:
  1. \frametitle{}
  2. Content (itemize or figure + caption)
  3. \note{}
    with speaker text (if SPEAKER_NOTES=true)
根据大纲逐张撰写幻灯片的实际内容。
严格执行以下演示规则
规则原因说明
每张幻灯片仅传递一个核心信息若一张幻灯片包含两个独立观点,需拆分为两张幻灯片
每张幻灯片最多6行内容超过6行会形成文字墙,影响听众理解
每行最多8个单词文字过长会让听众专注阅读而非听演讲
使用短语而非完整句子例如用“F1提升3.2%”代替“我们的方法将F1分数提升了3.2个百分点”
图片页:图片占比≥60%图片是内容核心,要点仅作为注释
关键数据加粗例如“准确率达94.3%
逐步揭示复杂内容对复杂幻灯片使用
\pause
\onslide
命令
除非是特邀报告,否则不包含相关工作幻灯片普通报告时长有限,需聚焦核心内容
每张幻灯片需生成
  1. \frametitle{}
    标题
  2. 内容(列表或图片+说明)
  3. \note{}
    演讲者备注(若SPEAKER_NOTES=true)

Phase 3: Generate Slides LaTeX

阶段3:生成Beamer LaTeX源码

Create
slides/main.tex
using beamer.
Template structure:
latex
\documentclass[aspectratio=169]{beamer}

% Venue theme
\usepackage{xcolor}
\definecolor{primary}{HTML}{VENUE_PRIMARY}
\definecolor{accent}{HTML}{VENUE_ACCENT}

% Clean theme
\usetheme{default}
\usecolortheme{default}
\setbeamercolor{frametitle}{fg=primary}
\setbeamercolor{title}{fg=primary}
\setbeamercolor{structure}{fg=accent}
\setbeamercolor{itemize item}{fg=primary}
\setbeamercolor{itemize subitem}{fg=accent}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{
  \hfill\insertframenumber/\inserttotalframenumber\hspace{2mm}\vspace{2mm}
}

% Packages
\usepackage{graphicx,amsmath,booktabs}
\graphicspath{{figures/}}

% Speaker notes (if enabled)
% \setbeameroption{show notes on second screen=right}

% Metadata
\title{PAPER TITLE}
\author{Author 1 \and Author 2}
\institute{Affiliation}
\date{VENUE YEAR}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

% Content slides follow...

\begin{frame}{Motivation}
\begin{itemize}
  \item Bullet point 1
  \item Bullet point 2
  \item \textbf{Key insight in bold}
\end{itemize}
\note{Speaker note: explain the motivation...}
\end{frame}

% Figure slide example
\begin{frame}{Method Overview}
\centering
\includegraphics[width=0.85\textwidth]{method_overview.pdf}
\vspace{0.5em}
\begin{itemize}
  \item Key annotation about the figure
\end{itemize}
\note{Walk through the figure left to right...}
\end{frame}

% ... more slides ...

\begin{frame}{Thank You}
\centering
{\Large Questions?}\\[2em]
Paper: [URL or QR placeholder]\\
Code: [URL or QR placeholder]
\end{frame}

\end{document}
Symlink figures:
bash
ln -sf ../paper/figures/*.pdf slides/figures/ 2>/dev/null
ln -sf ../paper/figures/*.png slides/figures/ 2>/dev/null
Key formatting rules:
  • Title font: ≥28pt, venue primary color
  • Body font: ≥20pt
  • Footnotes: ≥14pt
  • No navigation symbols
  • Frame numbers in bottom-right
  • Clean white background (no gradients, no decorative elements)
创建
slides/main.tex
文件,使用beamer格式。
模板结构
latex
\documentclass[aspectratio=169]{beamer}

% 会议主题配色
\usepackage{xcolor}
\definecolor{primary}{HTML}{VENUE_PRIMARY}
\definecolor{accent}{HTML}{VENUE_ACCENT}

% 简洁主题
\usetheme{default}
\usecolortheme{default}
\setbeamercolor{frametitle}{fg=primary}
\setbeamercolor{title}{fg=primary}
\setbeamercolor{structure}{fg=accent}
\setbeamercolor{itemize item}{fg=primary}
\setbeamercolor{itemize subitem}{fg=accent}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{
  \hfill\insertframenumber/\inserttotalframenumber\hspace{2mm}\vspace{2mm}
}

% 加载必要包
\usepackage{graphicx,amsmath,booktabs}
\graphicspath{{figures/}}

% 演讲者备注(若启用)
% \setbeameroption{show notes on second screen=right}

% 元数据
\title{PAPER TITLE}
\author{Author 1 \and Author 2}
\institute{Affiliation}
\date{VENUE YEAR}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

% 内容幻灯片依次展开...

\begin{frame}{Motivation}
\begin{itemize}
  \item Bullet point 1
  \item Bullet point 2
  \item \textbf{Key insight in bold}
\end{itemize}
\note{Speaker note: explain the motivation...}
\end{frame}

% 图片页示例
\begin{frame}{Method Overview}
\centering
\includegraphics[width=0.85\textwidth]{method_overview.pdf}
\vspace{0.5em}
\begin{itemize}
  \item Key annotation about the figure
\end{itemize}
\note{Walk through the figure left to right...}
\end{frame}

% ... 更多幻灯片 ...

\begin{frame}{Thank You}
\centering
{\Large Questions?}\\[2em]
Paper: [URL or QR placeholder]\\
Code: [URL or QR placeholder]
\end{frame}

\end{document}
图片软链接
bash
ln -sf ../paper/figures/*.pdf slides/figures/ 2>/dev/null
ln -sf ../paper/figures/*.png slides/figures/ 2>/dev/null
关键格式规则
  • 标题字体:≥28pt,使用会议主色调
  • 正文字体:≥20pt
  • 脚注字体:≥14pt
  • 隐藏导航符号
  • 幻灯片编号位于右下角
  • 简洁白色背景(无渐变、无装饰元素)

Phase 4: Compile Slides

阶段4:编译幻灯片

bash
cd slides && latexmk -$ENGINE -interaction=nonstopmode main.tex
Error handling loop (max 3 attempts):
  1. Parse error log
  2. Fix: missing package, undefined command, file not found, overfull boxes
  3. Recompile
Verification:
bash
undefined
bash
cd slides && latexmk -$ENGINE -interaction=nonstopmode main.tex
错误处理循环(最多3次尝试):
  1. 解析错误日志
  2. 修复问题:缺失包、未定义命令、文件未找到、内容溢出
  3. 重新编译
验证步骤
bash
undefined

Check slide count matches outline

检查幻灯片数量是否与大纲一致

pdfinfo slides/main.pdf | grep Pages

If page count differs significantly from outline (>2 slides off), investigate.

**State**: Write `SLIDES_STATE.json` with `phase: 4`.
pdfinfo slides/main.pdf | grep Pages

若实际页数与大纲差异较大(超过2张),需排查原因。

**状态保存**:写入`SLIDES_STATE.json`,标记`phase: 4`。

Phase 5: Codex MCP Review

阶段5:Codex MCP审核

Send the slide outline + selected LaTeX frames to GPT-5.4 xhigh:
mcp__codex__codex:
  config: {"model_reasoning_effort": "xhigh"}
  prompt: |
    Review this [TALK_TYPE] presentation ([TALK_MINUTES] min) for [VENUE].

    Evaluate using these criteria (score 1-5 each):

    1. **Story arc** — Does the talk build a compelling narrative? (Problem → insight → method → evidence → takeaway)
    2. **Slide density** — Any slides with too much text? (Max 6 lines, 8 words/line)
    3. **Time budget** — Is [N] slides realistic for [TALK_MINUTES] minutes?
    4. **Figure visibility** — Will figures be readable on a projector?
    5. **Opening hook** — Do slides 2-3 grab attention? (Not "In this paper, we...")
    6. **Takeaway** — Is the final message clear and memorable?
    7. **Progressive build** — Are complex ideas revealed gradually?

    Slide outline:
    [PASTE SLIDE_OUTLINE.md]

    Selected frames (LaTeX):
    [PASTE KEY FRAMES]

    Provide:
    - Score for each criterion
    - Top 3 actionable fixes
    - Overall: Ready to present? (Yes / Needs revision / Major issues)
Apply fixes. Recompile if LaTeX was changed.
⚠️ If
mcp__codex__codex
is not available (no OpenAI API key), skip external review and proceed to Phase 6. Note the skip in
SLIDES_STATE.json
.
Save review to
slides/SLIDES_REVIEW.md
.
State: Write
SLIDES_STATE.json
with
phase: 5
.
将幻灯片大纲+选中的LaTeX帧发送给GPT-5.4 xhigh模型:
mcp__codex__codex:
  config: {"model_reasoning_effort": "xhigh"}
  prompt: |
    请审核这份面向[VENUE]会议的[TALK_TYPE]报告幻灯片(时长[TALK_MINUTES]分钟)。

    请根据以下标准评分(1-5分):

    1. **叙事逻辑** — 报告是否构建了引人入胜的完整叙事?(问题→创新点→方法→证据→核心收获)
    2. **幻灯片密度** — 是否存在文字过多的幻灯片?(最多6行,每行8个单词)
    3. **时间匹配度** — [N]张幻灯片是否适配[TALK_MINUTES]分钟的时长?
    4. **图片可读性** — 图片在投影仪上是否清晰可见?
    5. **开场吸引力** — 第2-3张幻灯片是否能抓住听众注意力?(避免以“在本文中,我们...”开头)
    6. **核心传递** — 最终结论是否清晰且令人印象深刻?
    7. **内容递进** — 复杂观点是否逐步揭示?

    幻灯片大纲:
    [粘贴SLIDE_OUTLINE.md内容]

    选中的LaTeX帧:
    [粘贴关键帧内容]

    请提供:
    - 各标准的评分
    - 最需改进的3个可执行建议
    - 整体结论:是否可直接用于报告?(是/需修改/存在重大问题)
根据建议修改内容,若LaTeX代码有变更则重新编译。
⚠️ 若
mcp__codex__codex
不可用(无OpenAI API密钥),跳过外部审核直接进入阶段6,并在
SLIDES_STATE.json
中标记跳过原因。
将审核结果保存到
slides/SLIDES_REVIEW.md
状态保存:写入
SLIDES_STATE.json
,标记
phase: 5

Phase 6: Speaker Notes

阶段6:演讲者备注完善

For each slide, ensure a
\note{}
block exists with:
  1. What to say (2-3 complete sentences, conversational tone)
  2. Timing hint (e.g., "spend 1 minute here", "quick — 20 seconds")
  3. Transition phrase to the next slide (e.g., "So how do we actually implement this? Let me show you...")
Also generate
slides/speaker_notes.md
as a standalone backup:
markdown
undefined
确保每张幻灯片都有
\note{}
块,包含:
  1. 演讲内容提示(2-3句完整句子,口语化表达)
  2. 时间提示(例如:“此处花费1分钟”、“快速带过 — 20秒”)
  3. 转场语(例如:“那么我们具体如何实现呢?接下来为您展示...”)
同时生成独立备份文件
slides/speaker_notes.md
markdown
undefined

Speaker Notes

演讲者备注

Slide 1: Title

第1张:标题页

[No speaking — wait for introduction]
[无需发言 — 等待主持人介绍]

Slide 2: Motivation

第2张:动机

"Thank you. So let me start with the problem we're trying to solve..." [Time: 1.5 min]
“感谢主持人。接下来我将从我们要解决的问题开始讲起...” [时长:1.5分钟]

Slide 3: Problem Statement

第3张:问题陈述

"Specifically, the challenge is..." → Transition: "To address this, our key insight is..." [Time: 1 min]
...

**State**: Write `SLIDES_STATE.json` with `phase: 6`.
“具体来说,我们面临的挑战是...” → 转场语:“针对这一问题,我们的核心创新点是...” [时长:1分钟]
...

**状态保存**:写入`SLIDES_STATE.json`,标记`phase: 6`。

Phase 7: PowerPoint Export

阶段7:PPTX格式导出

Generate an editable PPTX using
python-pptx
:
bash
python3 -c "import pptx" 2>/dev/null || pip install python-pptx
Write
slides/generate_pptx.py
that:
  1. Creates a PPTX with correct aspect ratio (16:9 → 13.33" x 7.5"; 4:3 → 10" x 7.5")
  2. For each beamer frame:
    • Creates a slide with matching layout
    • Title in venue primary color, bold
    • Bullet points with venue accent color markers
    • Figures embedded as images (from slides/figures/)
    • Speaker notes transferred to PPTX notes field
  3. Title slide with special formatting (centered, larger title)
  4. Thank You slide with centered text
  5. Applies venue color scheme throughout
bash
cd slides && python3 generate_pptx.py
使用
python-pptx
生成可编辑的PPTX文件:
bash
python3 -c "import pptx" 2>/dev/null || pip install python-pptx
编写
slides/generate_pptx.py
脚本,实现以下功能:
  1. 创建符合宽高比的PPTX文件(16:9 → 13.33" x 7.5"; 4:3 → 10" x 7.5")
  2. 对每个beamer帧:
    • 创建匹配布局的幻灯片
    • 标题使用会议主色调、加粗
    • 要点使用会议强调色标记
    • 嵌入slides/figures/目录中的图片
    • 将演讲者备注同步到PPTX的备注栏
  3. 标题页使用特殊格式(居中、大字体)
  4. 致谢页使用居中文字
  5. 全程应用会议配色方案
bash
cd slides && python3 generate_pptx.py

Output: slides/presentation.pptx

输出文件:slides/presentation.pptx


> ⚠️ If `python-pptx` is not installed, skip with a note: "Install `pip install python-pptx` to enable PowerPoint export."

**State**: Write `SLIDES_STATE.json` with `phase: 7`.

> ⚠️ 若未安装`python-pptx`,则跳过此步骤并提示:“请安装`pip install python-pptx`以启用PowerPoint导出功能。”

**状态保存**:写入`SLIDES_STATE.json`,标记`phase: 7`。

Phase 8: Full Talk Script

阶段8:完整演讲稿生成

Generate
slides/TALK_SCRIPT.md
— a complete, word-for-word script for the talk.
This is different from speaker notes (brief reminders). The talk script is a full manuscript that can be read aloud or used for practice.
markdown
undefined
生成
slides/TALK_SCRIPT.md
— 报告的完整逐字稿。
逐字稿与演讲者备注(简短提示)不同,它是完整的文稿,可直接朗读或用于练习。
markdown
undefined

Talk Script: [Paper Title]

演讲稿:[论文标题]

Venue: [VENUE] [YEAR] Talk type: [TALK_TYPE] ([TALK_MINUTES] min) Total slides: [N]

会议:[VENUE] [年份] 报告类型:[TALK_TYPE]([TALK_MINUTES]分钟) 总幻灯片数:[N]

Slide 1: Title [0:00 - 0:15]

第1张:标题页 [0:00 - 0:15]

[Wait for chair introduction]
"Thank you [chair name]. I'm [author] from [affiliation], and today I'll be talking about [short title]."

[等待主持人介绍]
“感谢[主持人姓名]。我是来自[机构]的[作者姓名],今天我将介绍的研究是[简短标题]。”

Slide 2: Motivation [0:15 - 1:30]

第2张:动机 [0:15 - 1:30]

"Let me start with the problem. [Describe the real-world motivation in accessible terms]. This matters because [impact statement].
The current state of the art approaches this with [brief existing approach]. But there's a fundamental limitation: [gap statement]."
Transition: "So what's our key insight?"

“首先我想从我们要解决的问题讲起。[用通俗易懂的语言描述现实场景中的动机]。这项研究之所以重要,是因为[阐述影响]。
当前的主流方法通常是[简要介绍现有方法]。但它存在一个根本性的局限:[指出研究空白]。”
转场语:“那么我们的核心创新点是什么呢?”

Slide 3: Key Insight [1:30 - 2:30]

第3张:核心创新点 [1:30 - 2:30]

"Our key observation is that [core insight in one sentence].
This leads us to propose [method name], which [one-sentence description]."
Transition: "Let me walk you through how this works."

“我们的核心发现是[用一句话概括核心创新]。
基于此,我们提出了[方法名称],它[一句话描述方法]。”
转场语:“接下来我将为您详细介绍它的工作原理。”

Slide 4-N: [Continue for each slide...]

第4-N张:[按每张幻灯片依次展开...]

...

...

Slide [N]: Thank You [TALK_MINUTES:00]

第[N]张:致谢 [TALK_MINUTES:00]

"To summarize: we've shown that [main result]. The key takeaway is [memorable final message].
The paper and code are available at the QR code on screen. I'm happy to take questions."

“总结一下:我们的研究证明了[核心结果]。最关键的收获是[令人印象深刻的最终结论]。
论文和代码的链接已展示在屏幕的二维码中,欢迎大家提问。”

Time Budget Summary

时间分配汇总

SlideTopicDurationCumulative
1Title0:150:15
2Motivation1:151:30
3Key Insight1:002:30
............
NThank You0:15[TALK_MINUTES]:00
Total: [sum] min (target: [TALK_MINUTES] min)

幻灯片序号主题时长累计时长
1标题页0:150:15
2动机1:151:30
3核心创新点1:002:30
............
N致谢0:15[TALK_MINUTES]:00
总时长:[sum]分钟(目标:[TALK_MINUTES]分钟)

Anticipated Q&A

预期问答环节

Q1: How does this compare to [strongest baseline]?

Q1:这项研究与[最强基线方法]相比如何?

A: "[Specific comparison with numbers]. Our advantage is particularly clear in [specific scenario], where we see [X%] improvement."
A:“[结合具体数据进行对比]。我们的方法在[特定场景]下优势尤为明显,性能提升了[X%]。”

Q2: What are the main limitations?

Q2:研究的主要局限性是什么?

A: "[Honest answer]. We see this as [future work direction]."
A:“[诚实回答局限性]。我们将此视为未来的研究方向:[阐述未来工作]。”

Q3: How computationally expensive is this?

Q3:该方法的计算成本如何?

A: "[Training/inference cost]. Compared to [baseline], our method requires [comparison]."
A:“[说明训练/推理成本]。与[基线方法]相比,我们的方法[成本对比]。”

Q4: Does this generalize to [related domain]?

Q4:该方法是否能推广到[相关领域]?

A: "[Answer based on paper's discussion section]."
A:“[基于论文讨论部分回答]。”

Q5: What's the most surprising finding?

Q5:研究中最令人惊讶的发现是什么?

A: "[Interesting insight from the experiments]."
A:“[分享实验中的有趣发现]。”

Q6: How sensitive is the method to [hyperparameter/design choice]?

Q6:方法对[超参数/设计选择]的敏感度如何?

A: "[Reference ablation study if available]."
A:“[参考消融实验结果回答]。”

Q7: What's the next step for this research?

Q7:这项研究的下一步计划是什么?

A: "[Future work from conclusion]."
A:“[基于结论中的未来工作回答]。”

Q8: [Domain-specific question]

Q8:[领域特定问题]

A: "[Answer]."
undefined
A:“[对应回答]。”
undefined

Final Output Summary

最终输出汇总

📊 Slide generation complete:
- Talk type: [TALK_TYPE] ([TALK_MINUTES] min) for [VENUE]
- Files:
  slides/
  ├── main.tex              # Beamer LaTeX source
  ├── main.pdf              # Compiled slides (primary output)
  ├── presentation.pptx     # Editable PowerPoint
  ├── SLIDE_OUTLINE.md      # Slide-by-slide outline
  ├── SLIDES_REVIEW.md      # GPT-5.4 review feedback
  ├── speaker_notes.md      # Per-slide speaker notes
  ├── TALK_SCRIPT.md        # Full word-for-word talk script + Q&A
  ├── SLIDES_STATE.json     # State persistence
  ├── generate_pptx.py      # PPTX generation script
  └── figures/              # Symlinked from paper/figures/

Next steps:
1. Practice with TALK_SCRIPT.md (read aloud, time yourself)
2. Edit presentation.pptx for visual tweaks (animations, custom graphics)
3. Review Anticipated Q&A section before the talk
4. Do a dry run with a colleague
State: Write
SLIDES_STATE.json
with
phase: 8, status: "completed"
.
📊 幻灯片生成完成:
- 报告类型:[TALK_TYPE]([TALK_MINUTES]分钟),面向[VENUE]会议
- 生成文件:
  slides/
  ├── main.tex              # Beamer LaTeX源码
  ├── main.pdf              # 编译后的幻灯片(主要输出)
  ├── presentation.pptx     # 可编辑PowerPoint文件
  ├── SLIDE_OUTLINE.md      # 逐张幻灯片大纲
  ├── SLIDES_REVIEW.md      # GPT-5.4审核反馈
  ├── speaker_notes.md      # 逐张演讲者备注
  ├── TALK_SCRIPT.md        # 完整逐字演讲稿+问答预案
  ├── SLIDES_STATE.json     # 状态持久化文件
  ├── generate_pptx.py      # PPTX生成脚本
  └── figures/              # 从paper/figures/软链接的图片

后续建议:
1. 使用TALK_SCRIPT.md进行练习(大声朗读,计时)
2. 编辑presentation.pptx进行视觉优化(动画、自定义图形)
3. 报告前熟悉预期问答环节的内容
4. 与同事进行模拟报告演练
状态保存:写入
SLIDES_STATE.json
,标记
phase: 8, status: "completed"

Key Rules

核心规则

  • Large file handling: If the Write tool fails due to file size, immediately retry using Bash (
    cat << 'EOF' > file
    ) to write in chunks. Do NOT ask the user for permission — just do it silently.
  • One message per slide. If a slide has two ideas, split it into two slides.
  • Do NOT fabricate data. All numbers must come from
    paper/sections/*.tex
    .
  • Bullet points only — never full sentences on slides. Sentence fragments are fine.
  • Figure slides: figure ≥60% of slide area. The figure IS the content.
  • Progressive disclosure: Use
    \pause
    or
    \onslide
    for complex method slides.
  • De-AI polish: Remove watch words from all slide text and talk script.
  • Do NOT hallucinate citations. Reference only papers cited in the paper.
  • Opening hook matters: Never start with "In this paper, we..." — start with the problem or a provocative question.
  • Font size minimums: Title ≥28pt, body ≥20pt, footnotes ≥14pt.
  • Feishu notifications are optional. If
    ~/.claude/feishu.json
    exists, send notifications. If absent, skip.
  • 大文件处理:若写入工具因文件大小失败,立即使用Bash命令(
    cat << 'EOF' > file
    )分块写入,无需询问用户,静默执行。
  • 每张幻灯片仅传递一个核心信息:若一张幻灯片包含两个独立观点,必须拆分为两张。
  • 不得编造数据:所有数据必须来自
    paper/sections/*.tex
  • 仅使用要点:幻灯片上禁止出现完整句子,短语即可。
  • 图片页:图片占比≥60%:图片是内容的核心。
  • 逐步揭示复杂内容:对复杂方法页使用
    \pause
    \onslide
    命令。
  • 去AI化润色:从所有幻灯片文本和演讲稿中移除AI生成痕迹明显的词汇。
  • 不得虚构引用:仅引用论文中已有的文献。
  • 开场要有吸引力:绝不能以“在本文中,我们...”开头,需从问题或场景切入。
  • 字体大小下限:标题≥28pt,正文≥20pt,脚注≥14pt。
  • 飞书通知可选:若存在
    ~/.claude/feishu.json
    则发送通知,否则跳过。

Parameter Pass-Through

参数传递示例

/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3, notes: false
ParameterDefaultDescription
venue
NeurIPSConference for color scheme
talk_type
spotlightoral/spotlight/poster-talk/invited
minutes
15Talk duration
aspect
16:9Aspect ratio (16:9 / 4:3)
notes
trueGenerate speaker notes
engine
pdflatexLaTeX engine
auto proceed
falseSkip checkpoints
/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3, notes: false
参数名默认值说明
venue
NeurIPS会议名称,决定配色方案
talk_type
spotlight报告类型
minutes
15报告时长(分钟)
aspect
16:9幻灯片宽高比
notes
true是否生成演讲者备注
engine
pdflatexLaTeX引擎
auto proceed
false是否跳过检查点直接执行