一个生成带幻灯片的演讲稿的LaTeX样式包。
我们喜欢使用幻灯片(slides)来辅助演讲。在一些比较重要的学术场合,一份清晰易懂的幻灯片显得非常critical。
但这篇文章并不是要教你怎么制作一份合格的幻灯片,而是要跟你讲除了做幻灯片之外还应该做的东西。有些人幻灯片制作的非常精彩,但一上场,怯场忘词的马脚就露出来了。这是因为他们把大多数时间花在制作幻灯片上,而忘了把自己制作的幻灯片先消化好。
除了幻灯片,你还需要准备什么?——练习!
对于重要的学术场合,做好练习尤为关键。怎么开始自我介绍,碰到个公式怎么解释清楚,怎么起承转合,怎么在演讲过程中跟大家做眼神交流,怎么吸引大家的注意力。这些都是非常 challenging 的东西。单纯准备一份幻灯片显然不足以应付上面所有事情。
怎么练习?——对照讲稿练习20遍!
我在 SIAT 实习的时候,一位指导老师告诉我,他们在做学术汇报前,最起码将演讲稿练习20遍。这个给我非常大的触动。我所认识的很多科研人员,他们的科研任务已经非常繁重,但他们还乐于腾出时间来精心准备自己的演讲,在进行学术交流时将自己的成果以最佳的方式展示给其他人。这何尝不是一种分享精神。
于是,做好幻灯片后,一件不可忽略的事情就是准备好讲稿。将你的幻灯片消化好,并组织成语言。
最简单的方式就是将幻灯片打印下来,然后手动添加标注。类似 PPT 的演示文稿在打印的时候会去除动画效果,省的浪费纸张。如果使用 Beamer 写幻灯片,则可以在引言区一开始带上 handout
参数
1 | \documentclass[handout]{beamer} |
将幻灯片生成为没有 overlay 的讲义(handouts)。
但直接在讲义上书写会遮盖住原来的内容。对于某些内容比较多的幻灯片,可能还会出现没地方书写的情况。
为了腾出更多的空间来书写,有人写了一个 Beamer 样式包 Handout-With-Notes ,可以生成有书写笔记的空间的讲义。效果如下:
左边是幻灯片,右边留了空间让你自行书写笔记,看起来挺人性化。但有几个不足:
总而言之,handoutWithNotes看起来更适合发给听众当笔记手册,不适合用来准备讲稿。另外一种比较直接的方式就是单独写一份讲稿。然后和打印好的幻灯片两份材料一起结合起来练习。但也不够方便。
最理想的方式应该是在编写讲稿的时候自动插入事先编写好的幻灯片,上面是幻灯片,下面是演讲稿,方便对照练习。
针对这个需求,我写了一个样式包 Handout-With-Script,效果如下:
Handout-With-Script有几个优点:
不过Handout-With-Script也不是完全轻量级的,它依赖一个叫做 pdftk 的控制命令行工具,用来分割pdf文档。好在它是跨平台的。
1 | $ git clone https://gitcafe.com/wzpan/handout-with-script.git |
make
命令编译生成演示文稿。1 | $ make |
如你在 script.tex 文件里所见,Handout-With-Script自定义了 myscriptpage
和 myscript
两个环境和一个命令 \click
。
第一个要介绍的是 myscriptpage
环境。使用 myscriptpage
环境会 1) 新建一个空白页以编写讲稿内容;2) 在页面顶部插入一页幻灯片,幻灯片的页码由用户指定。使用它需要在后面跟上一个页码。例如:
1 | \begin{myscriptpage}{10} |
每次都要指定要插入的幻灯片的页码实在太繁琐,幸运的是,你通常不需要这么做。因为通常我们的幻灯片是顺序播放的,因此我定义了更加人性化的 myscript
环境,它使用一个计数器来自动帮你获取这一页讲稿对应哪一页幻灯片。当你使用 \end{myscript}
结束一页讲稿后,该计数器就自动加1,以指向下一页的幻灯片。例如:
1 | \begin{myscript} |
对于动画或overlay比较多的幻灯片,我们不仅要关心讲的内容,还要注意什么时候点击鼠标触发动画。因此,我自定义了一个 \click
命令,可以生成一个 click
图标,用于示意什么时候该点击鼠标触发动画。