在过去一年左右的时间里,我开始重新大量使用 Emacs 和 Org mode 包(用于做笔记、自我组织等等)。我也开始涉足简短的演示。我一直在想如何将 Emacs 与演讲结合起来。
您可能会问演示与文本编辑器有什么关系? 实际上有很多!
像许多演讲者一样,我在演示时使用幻灯片。我的幻灯片非常简洁——每张幻灯片只有几个单词或一张图片。我使用 Reveal.js 创建这些幻灯片,这也让我有机会拥抱我内心的极客,并手工编写一些 HTML。
那么,Emacs 和 Reveal.js 的融合发生在何处呢?这体现在一个名为 Org-Reveal 的 Emacs 包中。让我们来看看如何使用 Emacs、Org-Reveal 和 Reveal.js 创建简单的演示幻灯片。
开始入门
我假设您的计算机上已安装 Emacs 和 Org mode。如果还没有,请为您的操作系统获取 Emacs 并下载最新版本的 Org mode。Org mode 网站还解释了如何安装它。
您还需要安装 Org-Reveal,并获取 Reveal.js 存档的副本。您可以将 Reveal.js 解压缩到您喜欢的任何位置。我将其放在文件夹 ~/slides/reveal.js
中,我在其中存储我的幻灯片。
完成所有这些操作后,将以下内容添加到您的 .emacs
文件中,以将 Org-Reveal 集成到 Emacs 中
;; Reveal.js + Org mode
(require 'ox-reveal)
(setq Org-Reveal-root "file:///path-to-reveal.js")
(setq Org-Reveal-title-slide nil)
在上面, path-to-reveal.js
是您解压缩 Reveal.js 存档的位置。在我的设置中,该条目是 file:///home/scott/slides/reveal.js
。
这有点工作量。幸运的是,您只需要做一次。现在,您已准备就绪。
创建幻灯片演示文稿和幻灯片
启动 Emacs 并创建一个新文件。将文件命名为您想要的任何名称,但请确保它具有扩展名 .org
。该扩展名告诉 Emacs 这是一个 Org mode 文件。每当您打开具有该扩展名的文件时,Emacs 都会应用正确的语法突出显示,并在菜单栏上提供 Org 菜单。
将以下信息添加到文件的顶部
#+OPTIONS: num:nil toc:nil
#+REVEAL_TRANS: None/Fade/Slide/Convex/Concave/Zoom
#+REVEAL_THEME: Black/White/League/Sky/Beige/Simple/Serif/Blood/Night/Moon/Solarized
#+Title: Title of Your Talk
#+Author: Your Name
#+Email: Your Email Address or Twitter Handle
该块就像幻灯片演示文稿的元数据。让我们看一下该块中的前三项
num:nil
和toc:nil
禁止在生成幻灯片时对标题进行编号和创建目录#REVEAL_TRANS
控制您在幻灯片之间移动时的过渡效果。我通常选择 None,但您可以随意尝试#REVEAL_THEME
控制幻灯片的外观。我通常坚持使用 Black 或 White,但同样,您可以随意尝试
通过键入星号、后跟一个空格、后跟一些文本,在元数据块后添加标题。这将是标题幻灯片。(使标题成为一个好标题!)
如果您想在标题下方添加您的姓名,请按 Enter 键。Emacs 在标题下方添加一个空白的缩进空间。在该空间中键入您的姓名和任何其他信息。
通过向文件添加标题(记住,标题前面带有星号和空格?)向演示文稿添加新幻灯片。很简单,不是吗?
以下是 Emacs 中一个简单的演示文稿的样子

opensource.com
这是它在 Web 浏览器中的样子

opensource.com
如果您想创建仅包含文本的幻灯片,这效果很好。那么包含图片的幻灯片呢?
添加图片
我在幻灯片中使用图片的频率与使用文本的频率一样高。这些图片不是为了让我的观众眼花缭乱或分心。它们提供了一些视觉背景,并充当我的视觉提示。它并非适用于每张幻灯片或每次演讲,但使用正确的图片可能会很有效。而且它可能很有趣。
要向幻灯片添加图片,首先在保存幻灯片文件的文件夹中创建一个用于存放图片的子文件夹。我通常将该文件夹称为 images
,虽然缺乏想象力,但它确实名副其实。将您想在幻灯片中使用的图片放入该文件夹。
接下来,在幻灯片文件中创建一个空标题——一个带有星号但没有文本的标题。按 Enter 键以在该标题下方添加一个空白空间,然后将此文本块添加到该空间
:PROPERTIES:
:reveal_background: images/name-of-image
:reveal_background_size: width-of-image
:reveal_background_trans: slide
:END:
将 name-of-image
替换为图片的文件名(包括其扩展名)。将 width-of-image
替换为图片的宽度(以像素为单位)——例如,640px
。确保您的图片不太宽,否则它们会超出屏幕边缘。我尽量使幻灯片中的图片宽度保持在 1,000 像素以下。
添加演讲者备注
Reveal.js 有一个巧妙的功能,可让您在提供幻灯片的计算机上显示演讲者备注。只有您才能看到这些备注,并且它们仅在您按下键盘上的 s 键时才会出现。
要向幻灯片添加备注,请按 Enter 键以在标题下方创建一个空白空间,然后将此文本块添加到该空间
#+BEGIN_NOTES
Your note
#+END_NOTES
将 Your note
替换为提醒或提示您该幻灯片要点的文本。
生成幻灯片
您已经制作了演示文稿中的每张幻灯片。接下来做什么?您将需要生成幻灯片演示文稿的 HTML 版本。为此,请在键盘上按 Ctrl+c Ctrl+e。这将打开 Org mode 导出缓冲区。接下来,键入 R+R。Emacs 会在您保存幻灯片文件的文件夹中创建一个 HTML 文件。
在 Web 浏览器中打开该 HTML 文件。您可以通过按键盘上的箭头键在幻灯片之间移动。
最后思考
Reveal.js 和 Org-Reveal 还有很多功能可以做。我没有深入探讨,因为我喜欢保持幻灯片简洁。
使用 Emacs 和 Org mode 与 Reveal.js 创建演示幻灯片看起来可能有点过分。而且,老实说,我并非在所有幻灯片演示文稿中都使用这种组合。但是,当我需要快速整理幻灯片演示文稿时,它们做得非常出色。
而且,因为我在乎,所以我创建了一个 简单的 Org-Reveal 幻灯片模板,您可以下载并使用或修改它以满足您的心意。不用客气。
6 条评论