您的位置:首页 > 运维架构 > Linux

Emacs 系列(五):Org 模式之文档与演示稿 | Linux 中国

2018-12-14 11:04 105 查看
Org 模式不仅仅只是一个议程生成程序,它也能输出许多不同的格式: LaTeX、PDF、Beamer、iCalendar(议程)、HTML、Markdown、ODT、普通文本、手册页和其它更多的复杂的格式,比如说网页文件。
-- John Goerzen

致谢
编译自 | 
http://changelog.complete.org/archives/9900-emacs-5-documents-and-presentations-with-org-mode
 
 作者 | John Goerzen
 译者 | Yuqi Liu (oneforalone) 🌟🌟共计翻译:6.0 篇 贡献时间:11 天

这是 Emacs 和 Org 模式系列[1]的第五篇。

这篇博文是由 Org 模式的源文件生成的,其有几种格式:博客页面[2]演示稿[3] 和 PDF 文档[4]

1 Org 模式的输出

1.1 背景

Org 模式不仅仅只是一个议程生成程序,它也能输出许多不同的格式: LaTeX、PDF、Beamer、iCalendar(议程)、HTML、Markdown、ODT、普通文本、手册页和其它更多的复杂的格式,比如说网页文件。

这也不只是一些事后的想法,这是 Org 模式的设计核心部分并且集成的很好。

这一个文件可以同时是源代码、自动生成的输出、任务列表、文档和展示。

有些人将 Org 模式作为他们首选的标记格式,甚至对于 LaTeX 文档也是如此。Org 模式手册中的 输出一节[5] 有更详细的介绍。

1.2 开始

对于任意的 Org 模式的文档,只要按下 C-c C-e 键,就会弹出一个让你选择多种输出格式和选项的菜单。这些选项通常是次键选择,所以很容易设置和执行。例如:要输出一个 PDF 文档,按 C-c C-e l p,要输出 HMTL 格式的, 按 C-c C-e h h

对于所有的输出选项,都有许多可用的设置;详情参见手册。事实上,使用 LaTeX 格式相当于同时使用 LaTeX 和 HTML 模式,在不同的模式中插入任意的前言和设置等。

1.3 第三方插件

ELPA[6] 中也包含了许多额外的输出格式,详情参见 ELPA[6]

2 Org 模式的 Beamer 演示

2.1 关于 Beamer

Beamer[7] 是一个生成演示稿的 LaTeX 环境. 它包括了以下特性:

◈ 在演示稿中自动生成结构化的元素(例如 Marburg 主题[8])。 在演示稿中,这个特性可以为观众提供了视觉参考。
◈ 对组织演示稿有很大的帮助。
◈ 主题
◈ 完全支持 LaTeX

2.2 Org 模式中 Beamer 的优点

在 Org 模式中用 Beamer 有很多好处,总的来说:

◈ Org 模式很简单而且对可视化支持的很好,同时改变结构可以快速的重组你的材料。
◈ 与 org-babel 绑定在一起,实时语法高亮源码和内嵌结果。
◈ 语法通常更容易使用。

我已经完全用 Org 模式和 beamer 替换掉使用 LibreOffice/Powerpoint/GoogleDocs。事实上,当我必须使用其中一种工具时,这是相当令人沮丧的,因为它们在可视化表示演讲稿结构方面远远比不上 Org 模式。

2.3 标题层次

Org 模式的 Beamer 会将你文档中的部分(文中定义了标题的)转换成幻灯片。当然,问题是:哪些部分?这是由 H 输出设置[9]org-export-headline-levels)决定的。

针对不同的人,有许多不同的方法。我比较喜欢我的演示稿这样:

  1. #+OPTIONS: H:2

  2. #+BEAMER_HEADER: \AtBeginSection{\frame{\sectionpage}}

这将为每个主题提供了独立部分,以突出主题的改变然后使用级别 2(两个星号)的标题来设置幻灯片。许多 Beamer 主题也有第三个间接层次,所以你可以将 H 设为 3。

2.4 主题和配置

你可以在 Org 模式的文件顶部来插入几行来配置 Beamer 和 LaTeX。在本文中,例如,你可以这样定义:

  1. #+TITLE:  Documents and presentations with org-mode

  2. #+AUTHOR: John Goerzen

  3. #+BEAMER_HEADER: \institute{The Changelog}

  4. #+PROPERTY: comments yes

  5. #+PROPERTY: header-args :exports both :eval never-export

  6. #+OPTIONS: H:2

  7. #+BEAMER_THEME: CambridgeUS

  8. #+BEAMER_COLOR_THEME: default

2.5 高级设置

我比教喜欢修改颜色、项目符号样式等。我的配置如下:

  1. # We can't just +BEAMER_INNER_THEME: default because that picks the theme default.

  2. # Override per https://tex.stackexchange.com/questions/11168/change-bullet-style-formatting-in-beamer

  3. #+BEAMER_INNER_THEME: default

  4. #+LaTeX_CLASS_OPTIONS: [aspectratio=169]

  5. #+BEAMER_HEADER: \definecolor{links}{HTML}{0000A0}

  6. #+BEAMER_HEADER: \hypersetup{colorlinks=,linkcolor=,urlcolor=links}

  7. #+BEAMER_HEADER: \setbeamertemplate{itemize items}[default]

  8. #+BEAMER_HEADER: \setbeamertemplate{enumerate items}[default]

  9. #+BEAMER_HEADER: \setbeamertemplate{items}[default]

  10. #+BEAMER_HEADER: \setbeamercolor*{local structure}{fg=darkred}

  11. #+BEAMER_HEADER: \setbeamercolor{section in toc}{fg=darkred}

  12. #+BEAMER_HEADER: \setlength{\parskip}{\smallskipamount}

在这里,aspectratio=169 将纵横比设为 16:9, 其它部分都是标准的 LaTeX/Beamer 配置。

2.6 缩小 (适应屏幕)

有时你会遇到一些非常大的代码示例,你可能更倾向与将幻灯片缩小以适应它们。

只要按下 C-c C-c p 将 BEAMER_opt 属性设为 shrink=15\。(或者设为更大的 shrink 值)。上一张幻灯片就用到了这个。

2.7 效果

这就是最终的效果:

screenshot1

3 幻灯片之间的交互

3.1 交互式的 Emacs 幻灯片

使用 org-tree-slide[10] 这个插件的话,就可以在 Emacs 的右侧显示幻灯片了。 只要按下 M-x,然后输入 org-tree-slide-mode,回车,然后你就可以用 C-> 和 C-< 在幻灯片之间切换了。

你可能会发现 C-c C-x C-v (即 org-toggle-inline-images)有助于使系统显示内嵌的图像。

3.2 HTML 幻灯片

有许多方式可以将 Org 模式的演讲稿导出为 HTML,并有不同级别的 JavaScript 集成。有关详细信息,请参见 Org 模式的 wiki 中的 非 beamer 演讲稿一节[11]

4 更多

4.1 本文中的附加资源

◈ orgmode.org beamer tutorial[12]
◈ LaTeX wiki[13]
◈ Generating section title slides[14]
◈ Shrinking content to fit on slide[15]
◈ 很棒的资源: refcard-org-beamer
◈ 详情参见其 Github repo[16] 中的 PDF 和 .org 文件。
◈ 很漂亮的主题: Theme matrix[17]

4.2 下一个 Emacs 系列

mu4e 邮件!


via: http://changelog.complete.org/archives/9900-emacs-5-documents-and-presentations-with-org-mode

作者:John Goerzen[18] 选题:lujun9972 译者:oneforalone 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: