在过去一年左右的时间里,我开始大量重新使用 Emacs 和 Org 模式 包(用于记笔记、组织自己等等)。我也开始重新涉足进行简短演示的领域。我一直在想如何将 Emacs 与演讲结合起来。
您可能会问演示与文本编辑器有什么关系? 实际上有很多关系!
和许多演讲者一样,我在演示时使用幻灯片。我的幻灯片非常简洁——每张幻灯片只有几个词或一张图片。我使用 Reveal.js 来创建这些幻灯片,这也让我有机会拥抱我内心的极客精神,手工编写一些 HTML。
那么,Emacs 和 Reveal.js 的融合发生在何处呢? 这就涉及到名为 Org-Reveal 的 Emacs 包。 让我们看看如何使用 Emacs、Org-Reveal 和 Reveal.js 来创建简单的演示幻灯片。
开始入门
我假设您的计算机上已安装 Emacs 和 Org 模式。 如果没有,请为您的操作系统获取 Emacs,并下载最新版本的 Org 模式。 Org 模式网站还解释了如何安装它。
您还需要安装 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 模式文件。 每当您打开具有该扩展名的文件时,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 模式导出缓冲区。 接下来,键入 R+R。 Emacs 会在您保存幻灯片文件的文件夹中创建一个 HTML 文件。
在 Web 浏览器中打开该 HTML 文件。 您可以通过按键盘上的箭头键在幻灯片之间移动。
最后的想法
Reveal.js 和 Org-Reveal 还有很多功能可以实现。 我没有深入探讨,因为我喜欢保持幻灯片的简洁性。
使用 Emacs 和 Org 模式与 Reveal.js 创建演示幻灯片看起来可能有点杀鸡用牛刀。 而且,老实说,我并非在所有幻灯片演示文稿中都使用这种组合。 但是,当我需要快速整理幻灯片演示文稿时,它们确实做得很好。
而且,因为我在乎,所以我创建了一个 简单的 Org-Reveal 幻灯片模板,您可以下载并使用或修改它以满足您的需求。 不客气。
6 条评论