背景:PPT之痛
"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 是 LaTeX Beamer 风格的幻灯片模板集。包含了PowerPoint和Keynote两套格式。尤其适用于晋升述职、技术分享和学术汇报。
克隆方法
- 安装 git-lfs。为了节省仓库大小,项目使用 git-lfs 来对
*.key
和 *.pptx
文件进行版本控制。所以,在克隆前,要求先 安装好 git-lfs 。
- 安装完成后再执行 git clone 操作:
git clone https://github.com/wzpan/BeamerStyleSlides.git
使用技巧
- 首先可以在 beamer-theme-matrix 中找找看有没有心仪的样式;
- 在上面的主题列表中看看对应的主题是否已经完成了复刻。
- 如果有,可以点击查看预览图,看看效果是否满意。
- 一些底部带有包含作者信息(author)、标题(title)字段的主题,可以通过编辑母板修改对应字段的值。
设计思路
所有主题的风格尽力与 Beamer 所提供的风格保持一致。可以在 beamer-theme-matrix 中查看对应的主题样式。
不过,我做了一些取舍:
- 去掉了深色背景主题。个人认为深色背景主题在处理白底的图片时很不美观,所以我没有制作深色背景的 slides 的动力。当然,我愿意接受深色背景主题的pull request。
- PowerPoint 和 Keynote 并没有提供类似 Beamer 那样酷炫的导航栏功能,所以带导航栏的主题都不会进行复刻。
要注意的是模板并没有做到 100% 遵循原始的效果,毕竟 PowerPoint、Keynote 和 Beamer 各自的支持的能力有差异。
我更希望做到的是在保留 Beamer 原有的风格的基础上因地制宜地做些调整。
我需要帮忙!
BeamerStylesSlides 的目标是复刻 Beamer 上的 252 套主题,而因为个人精力有限,目前大概以每周两套主题的龟速,暂时先完成了 51 套主题的复刻。如果你对这个项目感兴趣,欢迎 fork 这个项目并参与复刻。
参与方式:
- 安装配置好 LaTeX + Beamer 环境,并安装好用于生成封面图的 imageMagicK。例如 Mac 下可以这么安装:
brew install imagemagick
- benchmark 目录中包含了一份 LaTeX + Beamer 制作的 slides ,作为整套模板制作的参照。将里头的
theme
和 colortheme
分别修改为你要参与复刻的主题 collection 名和 colortheme 名:
\usetheme{Antibes}
\usecolortheme{lily}
然后使用 xelatex slides.tex
编译得到 slides.pdf 文件。
- 对照这个 slides.pdf,编辑一个 pptx 母版,使之在排版、配色、列表项风格上尽量接近于这个 benchmark 。完成后保存,并导出一份 pdf 文件,以 colortheme +
.pdf
的命名方式放进 preview 目录中,例如 lily.pdf
。
- 使用 keynote 导入这个 PPT,调整下个人经历这一节中的层级即可另存为
.key
模板。
cd
进入 preview 目录,执行如下命令生成封面图和预览图:
sh montage.sh theme名 colortheme名
例如:
sh montage.sh Antibes lily
- 编辑 README.md ,加入你复刻的主题,提交并给我发 pull request 。
如何贡献其他主题
- 欢迎 fork 这个项目,并通过 pull request 的形式贡献你的主题!
- 第三方模板请分别保存到 Keynote / PowerPoint 目录里的 Contrib 目录中;
- 比较省事的制作方式是先制作一个 PowerPoint 的模板,然后在 Keynote 里导入 PowerPoint 模板再另存为 Keynote 模板;
- 完成后别忘了在 第三方主题 里添加你的大作。
- 主题的存放必须遵循按照现有的目录形式:
[-] ~/Documents/projects/BeamerStyleSlides/
|-[-] Keynote
| |-[-] Contrib
| | |- mycustom.key # 你的主题名
| | ‘- ...
| ‘- ...
|-[-] PowerPoint
| |-[-] Contrib
| | |- mycustom.pptx # 你的主题名
| | ‘- ...
| ‘- ...
|-[-] preview
| |- ...
| |- Contrib-mycustom-cover.jpg # 你的主题封面图
| |- Contrib-mycustom.jpg # 你的主题预览图
| ‘- ...
‘- README.md # 完成后编辑这个README,在第三方主题中插入你的主题说明。
最后,祝愿参与答辩的同学都能取得最终的胜利!