5  用 AI 生成幻灯片

这是全书最重要的一章。

前四章介绍了 Marp 的基本操作。本章的目标是:教大家写提示词,以便借助 AI(如豆包、DeepSeek、ChatGPT、Claude 等),轻松实现 Marp 的一些高级功能:自定义主题、复杂动画、响应式布局等。

5.1 为什么 AI 特别适合帮你做 Marp?

Marp 幻灯片由三类内容组成:

  1. Markdown 文字内容(AI 最擅长)
  2. YAML 头设定(格式固定,AI 很少出错)
  3. 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 相关提示词,通常包含三个部分:

  1. 目标:我想要什么效果?
  2. 约束:不要改哪些东西?要保留什么?
  3. 输出格式:只返回代码,还是带解释?

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]。

要求:

  1. 保留现有的所有 YAML 设定不变
  2. 保留现有的 <style> 内容不变
  3. 只添加新的 CSS class,放在 <style> 块的末尾
  4. 只返回修改后的完整 YAML 头和 <style> 块,不需要解释

5.5 让 AI 只做局部修改

有时候你只想改一张幻灯片的效果,不想影响其他页——可以这样要求 AI:

提示词

我有一张 Marp 幻灯片,内容如下:

[把那一张幻灯片的内容贴在这里]

请帮我把这张幻灯片改成双栏布局:左边放文字要点,右边放图片(图片路径:./Figs/chart.png)。

要求:

  1. 只改这一张幻灯片,不要改 YAML 头或全局样式
  2. <style scoped> 而不是全局 <style>
  3. 直接返回可以替换这张幻灯片的完整代码

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 模板

请帮我生成一份 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):[注释内容]

直接返回这张幻灯片的完整代码,不加解释。


提示词:遇到问题时求助 AI

我的 Marp 幻灯片出现了问题:[描述问题,例如:图片不显示 / 双栏布局某栏内容跑到外面去了 / 导出 PDF 时代码块被截断]

相关代码如下:

[把出问题的那张幻灯片的代码贴在这里]

我用的是 VS Code + Marp for VS Code 插件。

请帮我找出原因,并给出修正后的代码。只返回修正后的代码块,不需要详细解释。


5.9 一个重要习惯:把 AI 的输出当”草稿”

AI 生成的代码通常是对的,但不一定 100% 符合你的需求。

建议养成这个习惯:

  1. 让 AI 生成代码
  2. 复制进 VS Code,立刻预览
  3. 发现问题 → 回到 AI,告诉它”这个效果不对,具体是……,请调整”
  4. 重复 2-3 次,通常就能得到满意的结果

不要一次性让 AI 做太多。小步迭代,比一次要求完美更有效。


本章小结

这一章你掌握了:

  • 用 AI 直接把论文/报告转化为完整 Marp 幻灯片的标准流程和三种方法
  • 为什么先出大纲、再出正文,效率更高
  • 为什么提供模板给 AI 能显著提升生成质量
  • 如何写出有效的提示词(目标 + 约束 + 输出格式)
  • 如何让 AI 保留现有模板风格、只做局部修改
  • 6 个可直接使用的提示词模板

最后一句话: 这本书教你入门,AI 陪你进阶。把模板给 AI,把需求说清楚,大部分工作 AI 都能替你完成。