介绍一套开源的Beamer风格幻灯片模板集 BeamerStyleSlides 。

背景:PPT之痛

年末,又到了很多朋友准备答辩晋升 slides 的时候。PPT工程 应该是很多技术人的天敌之一,不少人为了在工作之余折腾出一份既有内容又美观的 slides 弄得焦头烂额。

其实,大家对 PPT工程 之所以这么惶恐,主要是因为技术人更习惯跟代码打交道,更习惯用技术思维去解决问题。而做材料考察的是信息的提取整合能力、审美品味以及口头表达能力,而这些都不是做技术的必要条件。

然而,也不必对使用 slides 答辩过于深恶痛绝,它只是一个用来说你的故事的工具:我们不应该被工具所束缚,而应该把它用好,将它变成你的优势。我私下里也看过不少同事的答辩材料,发现了一个很有趣的现象:往往内容非常好的材料,美观度也很高,看起来赏心悦目。而内容一般的材料,排版、美观度也比较糟糕,缺乏美感。工程师的素养,在做 slides 花的心思上面也能够体现出来。

为什么要做 BeamerStyleSlides

其实,做一个大方美观的 slides 并不简单,我在准备今年年中的答辩的时候,花费最多的时间居然是工具和模板主题的选择上。

做 slides 有非常多种选择,PowerPoint、Keynote、LaTeX+Beamer、reveal.js、Emacs org-mode、Jupyter Notebook……抛开过于花哨的 H5 系和不顺手的 Keynote,我的选择就在 PowerPoint 和 LaTeX Beamer 上。

LaTeX + Beamer 一开始是我的首选,因为 Beamer 的主题大方简洁,非常适合用作学术汇报和晋升述职。这是 beamer 的官方主题:http://www.hartwork.org/beamer-theme-matrix/ 可以看到这些主题全都非常精美大方。

我也用 Beamer 做过非常多的 slides ,对它的排版效果可以说是爱不释手:https://github.com/wzpan/wzpan.github.io/wiki/slides

正当我兴高采烈地写了很多页之后,我发现我忘了一个很严重的问题:Beamer 不支持直接插入视频。要播放视频,你需要先将视频转成帧图像,然后使用 animation 包来实现播放,而且只支持 Adobe Reader。体验非常糟糕。

于是我放弃了 LaTeX ,转回使用 PowerPoint 。但是我又花了非常多时间在寻找一个好看简洁的模板。我发现一个看上眼的都没有。

网上找了一些模板,都太过华丽,不符合工程师的气质:

最终我决定复刻一个 Beamer 的主题作为模板,有了一份称手的模板,写 slides 真的是效率大增,最终的效果个人是挺满意的。这里挑其中几页做个示例:

为了让像我一样审美较差的码农也能用 powerpoint/keynote 做出媲美 LaTeX Beamer 的 slides,成为一名合格的PPT工程师,轻松应对答辩晋升、技术分享和学术交流的任务,我从答辩结束后就开始了一个名为 BeamerStyleSlides 项目:对 Beamer 的更多官方主题进行复刻,并且在 Github 上开源:https://github.com/wzpan/BeamerStyleSlides 。这就是 BeamerStyleSlides 的由来。

另外,选择在 Github 上开源还有一个目的:就是让更多的人参与进来,贡献他们的模板。有很多人私下里收藏了一些非常美观实用的模板,与其独享,不如共享。

BeamerStyleSlides 介绍

BeamerStyleSlides

BeamerStyleSlides 是 LaTeX Beamer 风格的幻灯片模板集。包含了PowerPoint和Keynote两套格式。尤其适用于晋升述职、技术分享和学术汇报。

克隆方法

  1. 安装 git-lfs。为了节省仓库大小,项目使用 git-lfs 来对 *.key*.pptx 文件进行版本控制。所以,在克隆前,要求先 安装好 git-lfs
  2. 安装完成后再执行 git clone 操作:

1
git clone https://github.com/wzpan/BeamerStyleSlides.git

使用技巧

  1. 首先可以在 beamer-theme-matrix 中找找看有没有心仪的样式;
  2. 在上面的主题列表中看看对应的主题是否已经完成了复刻。
  3. 如果有,可以点击查看预览图,看看效果是否满意。
  4. 一些底部带有包含作者信息(author)、标题(title)字段的主题,可以通过编辑母板修改对应字段的值。

设计思路

所有主题的风格尽力与 Beamer 所提供的风格保持一致。可以在 beamer-theme-matrix 中查看对应的主题样式。

不过,我做了一些取舍:

  1. 去掉了深色背景主题。个人认为深色背景主题在处理白底的图片时很不美观,所以我没有制作深色背景的 slides 的动力。当然,我愿意接受深色背景主题的pull request。
  2. PowerPoint 和 Keynote 并没有提供类似 Beamer 那样酷炫的导航栏功能,所以带导航栏的主题都不会进行复刻。

要注意的是模板并没有做到 100% 遵循原始的效果,毕竟 PowerPoint、Keynote 和 Beamer 各自的支持的能力有差异。我更希望做到的是在保留 Beamer 原有的风格的基础上因地制宜地做些调整。

我需要帮忙!

BeamerStylesSlides 的目标是复刻 Beamer 上的 252 套主题,而因为个人精力有限,目前大概以每周两套主题的龟速,暂时先完成了 51 套主题的复刻。如果你对这个项目感兴趣,欢迎 fork 这个项目并参与复刻。

参与方式:

  1. 安装配置好 LaTeX + Beamer 环境,并安装好用于生成封面图的 imageMagicK。例如 Mac 下可以这么安装:

1
brew install imagemagick

  1. benchmark 目录中包含了一份 LaTeX + Beamer 制作的 slides ,作为整套模板制作的参照。将里头的 themecolortheme 分别修改为你要参与复刻的主题 collection 名和 colortheme 名:

1
2
\usetheme{Antibes}
\usecolortheme{lily}

然后使用 xelatex slides.tex 编译得到 slides.pdf 文件。

  1. 对照这个 slides.pdf,编辑一个 pptx 母版,使之在排版、配色、列表项风格上尽量接近于这个 benchmark 。完成后保存,并导出一份 pdf 文件,以 colortheme + .pdf 的命名方式放进 preview 目录中,例如 lily.pdf
  2. 使用 keynote 导入这个 PPT,调整下个人经历这一节中的层级即可另存为 .key 模板。

调整层级

  1. cd 进入 preview 目录,执行如下命令生成封面图和预览图:

1
sh montage.sh theme名 colortheme名

例如:

1
sh montage.sh Antibes lily

  1. 编辑 README.md ,加入你复刻的主题,提交并给我发 pull request 。

如何贡献其他主题

  • 欢迎 fork 这个项目,并通过 pull request 的形式贡献你的主题!
    1. 第三方模板请分别保存到 Keynote / PowerPoint 目录里的 Contrib 目录中;
    2. 比较省事的制作方式是先制作一个 PowerPoint 的模板,然后在 Keynote 里导入 PowerPoint 模板再另存为 Keynote 模板;
    3. 完成后别忘了在 第三方主题 里添加你的大作。
    4. 主题的存放必须遵循按照现有的目录形式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[-] ~/Documents/projects/BeamerStyleSlides/
|-[-] Keynote
| |-[-] Contrib
| | |- mycustom.key # 你的主题名
| | ‘- ...
| ‘- ...
|-[-] PowerPoint
| |-[-] Contrib
| | |- mycustom.pptx # 你的主题名
| | ‘- ...
| ‘- ...
|-[-] preview
| |- ...
| |- Contrib-mycustom-cover.jpg # 你的主题封面图
| |- Contrib-mycustom.jpg # 你的主题预览图
| ‘- ...
‘- README.md # 完成后编辑这个README,在第三方主题中插入你的主题说明。

最后,祝愿参与晋升答辩的朋友都能取得最终的胜利!

Comments