5 用 AI 生成幻灯片
这是全书最重要的一章。
前四章介绍了 Marp 的基本操作。本章的目标是:教大家写提示词,以便借助 AI(如豆包、DeepSeek、ChatGPT、Claude 等),轻松实现 Marp 的一些高级功能:自定义主题、复杂动画、响应式布局等。
5.1 为什么 AI 特别适合帮你做 Marp?
Marp 幻灯片由三类内容组成:
- Markdown 文字内容(AI 最擅长)
- YAML 头设定(格式固定,AI 很少出错)
- CSS 样式(AI 对 CSS 熟悉度很高)
这三样加在一起,正好是 AI 最擅长的领域。你只需要描述你想要的效果,AI 基本上都能给出可用的代码。
5.2 用 AI 直接生成完整幻灯片
这是 Marp + AI 组合最强大的用法:把一篇论文、报告或调研结果交给 AI,让它直接输出一份完整的 Marp 幻灯片。
5.2.1 标准流程-文字版,随后删除
从论文到幻灯片,四步走,通常 15 分钟以内可以完成。
第一步:把材料发给 AI
将论文全文、报告或需要制作成幻灯片的文档,粘贴给 AI 工具(豆包、DeepSeek、ChatGPT、Claude 等均可)。
第二步:先生成大纲
我要基于上述内容生成 Marp 幻灯片。
听众:{博士研究生 / 本科生 / 政府工作人员}
篇幅:30 页左右;正文字号:24pt
请先生成一个幻灯片大纲,不要直接输出正文。
第三步:确认大纲后生成正文
检查大纲,按需调整章节结构和详略,然后输入:
大纲确认,请输出完整的 Marp 幻灯片 Markdown 文本。
格式要求参照:https://lianxhcn.github.io/marp-book/
模板风格参照marp05_paper,模板内容如下:
[粘贴模板的 YAML 头和<style>块]
第四步:导入 VS Code,导出幻灯片
将 AI 生成的 Markdown 内容粘贴进 VS Code,保存为 .md 文件, 点击 Marp 图标预览,满意后导出为 PDF 或 HTML。
直接让 AI 一步生成完整幻灯片,它往往会在每页塞太多内容,或者结构与你的预期不符,反复修改反而费时。
先定结构,再填内容,是和 AI 合作效率最高的方式。大纲阶段修改成本极低,正文阶段修改成本高。
5.2.2 为什么要提供模板给 AI?
AI 在生成幻灯片时,最难把握的是每一页放多少内容。如果不提供字号信息,AI 可能给每页塞太多文字,实际渲染时溢出幻灯片边界。
把 template 文件夹里某个模板的 CSS 块发给 AI,它就能知道”这个字号下,一页大概能放多少行”,从而合理分页。这是生成质量最高的一个技巧。
5.2.3 方法一:提供模板,按模板风格生成
我有一篇论文/报告,内容如下:
[粘贴论文摘要、引言或完整正文]
请根据以上内容,生成一份完整的 Marp 幻灯片(.md 格式)。
风格参考: 请参照以下模板的 YAML 头和 CSS 样式,保持相同的字号、配色和版式:
[粘贴模板文件的 YAML 头和 <style> 块]
其他要求:
- 面向受众:[例如:经济学专业研究生]
- 幻灯片总页数:[例如:12–15 页]
- 包含封面页、目录页、各节内容页、结论页
- 每页正文要点控制在 4–5 条以内,不要太满
- 只返回完整的
.md文件内容,用 markdown 代码块包住
5.2.4 方法二:让 AI 自己设计风格并生成
如果你还没有现成模板,可以直接描述你要的样式:
我有一份报告,内容如下:
[粘贴内容]
请帮我生成一份完整的 Marp 幻灯片,要求:
样式设定:
- 主题:default,尺寸:16:9
- 正文字号:22px,h2 标题:28px,颜色:深蓝 #1565c0
- 封面页:深蓝渐变背景,白色文字
内容要求:
- 面向受众:[听众描述]
- 总页数:[X] 页左右
- 包含封面、目录、内容页、结论页
- 每页文字量适中,重要数据用加粗突出
只返回完整的 .md 文件,用 markdown 代码块包住,不加任何解释。
5.2.5 方法三:先生成论文精要,再转为幻灯片
如果原始材料是很长的论文,可以分两步走,质量更稳定。
第一步:生成论文精要
请阅读以下论文,用中文写一份 800–1000 字的精要,要求:
- 包含研究背景、研究问题、数据与方法、核心发现、政策含义
- 突出关键数据和因果结论
- 如需插入文中的图片或表格截图,请预留位置,并写好说明文字,我随后手动截图后插入图片。
- 语言简洁,适合转化为学术汇报幻灯片
[粘贴论文全文或摘要+引言+结论]
第二步:精要转幻灯片
以下是一篇论文的精要:
[粘贴第一步生成的精要]
请将其转化为一份 Marp 幻灯片(10–12 页),要求:
- 参考以下模板风格:[粘贴模板的 YAML 头和
<style>块] - 面向受众:经济学领域同行
- 结构:封面、引言、数据/方法、核心结果(2–3 页)、结论
- 结果页保留关键系数和显著性标注(*** ** *)
- 只返回
.md文件,用代码块包住,不加解释
5.3 如何描述你想要的效果
AI 不是魔法,它需要你说清楚你想要什么。
5.3.1 描述三要素
一个好的 Marp 相关提示词,通常包含三个部分:
- 目标:我想要什么效果?
- 约束:不要改哪些东西?要保留什么?
- 输出格式:只返回代码,还是带解释?
5.3.2 示例对比
❌ 不好的提示词:
> 帮我美化一下幻灯片
这太模糊了,AI 不知道从哪里下手。
✅ 好的提示词:
我有一份 Marp 幻灯片,主题是 default,YAML 头如下:
```yaml
---
marp: true
theme: default
paginate: true
---
```
请帮我在 YAML 头后面加一个全局 `<style>` 块,把正文字号改为 22px,h2 标题改为 28px。不要修改其他设定,只返回需要插入的 `<style>` 块代码。这个提示词的好处:
- 说明了当前状态(default 主题,有 paginate)
- 说清楚了目标(22px 正文,28px h2)
- 说清楚了约束(不改其他设定)
- 说清楚了输出格式(只返回
<style>块)
5.4 让 AI 保留你现有的模板风格
你已经有一套用得顺手的模板,想在上面加新功能,但不想让 AI 把整个模板改掉——怎么办?
关键词:把现有代码贴给 AI,明确说”只做 X,不改其他”。
我有一份 Marp 幻灯片模板,代码如下:
[把你整个 .md 文件的 YAML 头和 `<style>` 块贴在这里]
请在这个模板基础上,帮我添加 [具体需求,例如:双栏布局的 CSS class]。
要求:
- 保留现有的所有 YAML 设定不变
- 保留现有的
<style>内容不变 - 只添加新的 CSS class,放在
<style>块的末尾 - 只返回修改后的完整 YAML 头和
<style>块,不需要解释
5.5 让 AI 只做局部修改
有时候你只想改一张幻灯片的效果,不想影响其他页——可以这样要求 AI:
我有一张 Marp 幻灯片,内容如下:
[把那一张幻灯片的内容贴在这里]
请帮我把这张幻灯片改成双栏布局:左边放文字要点,右边放图片(图片路径:./Figs/chart.png)。
要求:
- 只改这一张幻灯片,不要改 YAML 头或全局样式
- 用
<style scoped>而不是全局<style> - 直接返回可以替换这张幻灯片的完整代码
5.6 让 AI 只返回可直接复制的代码
AI 有时候会给你一大段解释,但你只需要代码。你只需在提示词末尾加上下面这类表述(酌情选择一个即可):
- “只返回代码,不需要任何解释”
- “用代码块包住输出,不要在代码外面加任何文字”
- “直接给我可以复制粘贴进 VS Code 的内容”
5.6.1 例子
帮我生成一个 Marp 幻灯片页面,内容是一个三栏对比表,比较 OLS、IV、DID 三种方法的适用场景。
要求:用 CSS Grid 实现三栏,每栏有标题和 3-4 个要点。
只返回这一张幻灯片的完整代码(从 --- 分页符开始到下一个 ---),用 markdown 代码块包住,不加任何解释。
5.7 把低频需求交给 AI 处理
有些功能你可能只用一两次,不值得花时间系统学。遇到这类需求,直接扔给 AI 就好。
典型的”低频需求”:
- 做一个花哨的封面页
- 给某张幻灯片加渐变背景色
- 做一个进度条(显示当前是第几章)
- 把一张密密麻麻的表格变得好看一点
- 给幻灯片加上自定义字体
这些东西你可能半年用一次,记住它们没什么意义。用的时候描述给 AI,AI 给你代码,复制进去,搞定。
5.8 实用提示词模板合集
下面是一组可以直接使用的提示词模板,覆盖了最常见的场景。把方括号里的内容替换成你的实际情况就可以用。
请帮我生成一份 Marp 幻灯片的基础模板。
要求:
- 主题:default,尺寸:16:9
- 开启页码,格式为”当前页 / 总页”
- 页眉显示”[课程名称]“,页脚显示”[姓名] | [年份]”
- 用 headingDivider: 2 自动分页
- 全局字号 24px,h2 标题 30px
- 包含封面页(不显示页码和页眉页脚)
- 包含 2-3 张示例内容页
只返回完整的 .md 文件内容,用 markdown 代码块包住。
我有一份 Marp 模板,YAML 头和样式如下:
[把你的 YAML 头和 <style> 块粘贴在这里]
请在这个基础上,帮我[具体修改内容,例如:把页脚的颜色改为深灰色 #555,把正文字号从 24px 改为 22px]。
要求:
- 只修改我要求的部分,其他内容完全保留
- 返回修改后的完整 YAML 头和
<style>块
请帮我生成一张 Marp 幻灯片,内容如下:
- 标题:[幻灯片标题]
- 左栏:[左栏内容描述,例如:DID 方法的三个假设,用要点列表]
- 右栏:[右栏内容描述,例如:一段配图说明,图片路径 ./Figs/did.png]
要求:
- 用 CSS Grid 双栏布局,左右各 50%
- 使用
<style scoped>避免影响其他页 - 直接返回这一张幻灯片的完整代码(从
---开始到下一个---),不加解释
我的 Marp 幻灯片目前使用 default 主题,现有 <style> 块如下:
[贴上你现有的 <style> 块,或写"暂无"]
请帮我生成一个 <style> 块,实现以下效果:
- 正文字号:22px
- h1 字号:38px,颜色:#1a1a2e
- h2 字号:30px,颜色:#16213e
- 链接颜色:#0066cc
- 代码块背景:#f5f5f5,字号:18px
只返回 <style> 块的完整代码。
请帮我生成一张 Marp 幻灯片,要求:
- 标题:[页面标题]
- 主体:一张图片居中显示,宽度为幻灯片宽度的 70%,图片路径:
./Figs/[图片名] - 图片下方有一行小字注释(字号 14px,颜色 #888):[注释内容]
直接返回这张幻灯片的完整代码,不加解释。
我的 Marp 幻灯片出现了问题:[描述问题,例如:图片不显示 / 双栏布局某栏内容跑到外面去了 / 导出 PDF 时代码块被截断]
相关代码如下:
[把出问题的那张幻灯片的代码贴在这里]
我用的是 VS Code + Marp for VS Code 插件。
请帮我找出原因,并给出修正后的代码。只返回修正后的代码块,不需要详细解释。
5.9 一个重要习惯:把 AI 的输出当”草稿”
AI 生成的代码通常是对的,但不一定 100% 符合你的需求。
建议养成这个习惯:
- 让 AI 生成代码
- 复制进 VS Code,立刻预览
- 发现问题 → 回到 AI,告诉它”这个效果不对,具体是……,请调整”
- 重复 2-3 次,通常就能得到满意的结果
不要一次性让 AI 做太多。小步迭代,比一次要求完美更有效。
本章小结
这一章你掌握了:
- 用 AI 直接把论文/报告转化为完整 Marp 幻灯片的标准流程和三种方法
- 为什么先出大纲、再出正文,效率更高
- 为什么提供模板给 AI 能显著提升生成质量
- 如何写出有效的提示词(目标 + 约束 + 输出格式)
- 如何让 AI 保留现有模板风格、只做局部修改
- 6 个可直接使用的提示词模板
最后一句话: 这本书教你入门,AI 陪你进阶。把模板给 AI,把需求说清楚,大部分工作 AI 都能替你完成。