TranslateProject/translated/tech/20180404 Emacs -5- Documents and Presentations with org-mode.md
2018-11-23 16:18:18 +08:00

177 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Emacs #5: org-mode 之文档与 Presentations
======
### 1 org-mode 的输出
#### 1.1 背景
org-mode 不仅仅只是一个议程生成程序, 它也能输出许多不同的格式: LaTeXPDFBeameriCalendar议程HTMLMarkdownODT普通文本帮助页面man pages和其它更多的复杂的格式比如说网页文件。
这也不只是一些事后的想法,这是 org-mode 的设计核心部分并且集成的很好。
一个文件可以同时是源代码,自动生成的输出,任务列表,文档和 presentation。
有些人将 org-mode 作为他们首选的标记格式,甚至对于 LaTeX 文档也是如此。org-mode 手册中的 [section on exporting][13] 有更详细的介绍。
#### 1.2 开始
对于任意的 org-mode 的文档,只要按下 C-c C-e键就会弹出一个让你选择多种输出格式和选项的菜单。这些选项通常是次键选择所以很容易设置和执行。例如要输出一个 PDF 文档,按 C-c C-e l p要输出 HMTL 格式的, 按 C-c C-e h h。
对于所有的输出选项,都有许多可用的设置;详情参见手册。事实上,使用 LaTeX 格式相当于同时使用 LaTeX 和 HTML 模式,在不同的模式中插入任意的前言和设置等。
#### 1.3 第三方插件
[ELPA][19] 中也包含了许多额外的输出格式,详情参见 [ELPA][19].
### 2 org-mode 的 Beamer 演示
#### 2.1 关于 Beamer
[Beamer][14] 是一个生成 presentation 的 LaTeX 环境. 它包括了一下特性:
* 在 presentation 中自动生成结构化的元素(例如 [the Marburg theme][1])。 在 presentation 时,这个特性可以为观众提供了视觉参考。
* 对组织 presentation 有很大的帮助。
* 主题
* 完全支持 LaTeX
#### 2.2 org-mode 中 Beamer 的优点
在 org-mode 中用 Beamer 有很多好处,总的来说:
* org-mode 很简单而且对可视化支持的很好,同时改变结构可以快速的重组你的材料。
* 与 org-babel 绑定在一起,实时语法高亮源码和内嵌结果。
* 语法通常更容易使用。
我已经完全用 org-mode 和 beamer 替换掉 LibreOffice/Powerpoint/GoogleDocs 的使用。事实上,当我必须使用其中一种工具时,这是相当令人沮丧的,因为它们在可视化表示结构方面远远比不上 org-mode。
#### 2.3 标题层次
org-mode 的 Beamer 会将你文档中的部分(文中定义了标题的)转换成幻灯片。当然,问题是:哪些部分?这是由 H [export setting][15]org-export-headline-levels决定的。
针对不同的人,有许多不同的方法。我比较喜欢我的 presentation 这样:
```
#+OPTIONS: H:2
#+BEAMER_HEADER: \AtBeginSection{\frame{\sectionpage}}
```
这将为每个主题提供了独立部分,以突出主题的改变然后使用级别 2两个星号的标题来设置幻灯片。许多 Beamer 主题也有第三个间接层次,所以你可以将 H 设为 3。
#### 2.4 主题和配置
你可以在 org 文件的顶部来插入几行来配置 Beamer 和 LaTeX。在本文中例如你可以这样定义
```
#+TITLE: Documents and presentations with org-mode
#+AUTHOR: John Goerzen
#+BEAMER_HEADER: \institute{The Changelog}
#+PROPERTY: comments yes
#+PROPERTY: header-args :exports both :eval never-export
#+OPTIONS: H:2
#+BEAMER_THEME: CambridgeUS
#+BEAMER_COLOR_THEME: default
```
#### 2.5 高级设置
我比教喜欢修改颜色、项目符号样式等。我的配置如下:
```
# We can't just +BEAMER_INNER_THEME: default because that picks the theme default.
# Override per https://tex.stackexchange.com/questions/11168/change-bullet-style-formatting-in-beamer
#+BEAMER_INNER_THEME: default
#+LaTeX_CLASS_OPTIONS: [aspectratio=169]
#+BEAMER_HEADER: \definecolor{links}{HTML}{0000A0}
#+BEAMER_HEADER: \hypersetup{colorlinks=,linkcolor=,urlcolor=links}
#+BEAMER_HEADER: \setbeamertemplate{itemize items}[default]
#+BEAMER_HEADER: \setbeamertemplate{enumerate items}[default]
#+BEAMER_HEADER: \setbeamertemplate{items}[default]
#+BEAMER_HEADER: \setbeamercolor*{local structure}{fg=darkred}
#+BEAMER_HEADER: \setbeamercolor{section in toc}{fg=darkred}
#+BEAMER_HEADER: \setlength{\parskip}{\smallskipamount}
```
在这里, aspectratio=169 将纵横比设为 169, 其它部分都是标准的 LaTeX/Beamer 配置。
#### 2.6 缩小 (适应屏幕)
有时你会遇到一些非常大的代码示例,你可能更倾向与将幻灯片缩小以适应它们。
只要按下 C-c C-c p 将 BEAMER_opt属性设为 shrink=15\.(或者设为更大的 shrink 值)。上一张幻灯片就用到了这个。
#### 2.7 效果
这就是最终的效果:
[![screenshot1](https://farm1.staticflickr.com/889/26366340577_fbde8ff266_o.png)][16]
### 3 幻灯片之间的交互
#### 3.1 交互式的 Emacs 幻灯片
使用 [org-tree-slide package][17] 这个插件的话, 就可以在 Emacs 的右侧显示幻灯片了。 只要按下 M-x然后输入 org-tree-slide-mode回车然后你就可以用 C-> 和 C-< 在幻灯片之间切换了
你可能会发现 C-c C-x C-v org-toggle-inline-images有助于使系统显示内嵌的图像
#### 3.2 HTML 幻灯片
有许多方式可以将 org-mode presentation 导出为 HTML并有不同级别的 JavaScript 集成有关详细信息请参见 org-mode wiki 中的 [non-beamer presentations section][18]。
### 4 更多
#### 4.1 本文中的附加资源
* [orgmode.org beamer tutorial][2]
* [LaTeX wiki][3]
* [Generating section title slides][4]
* [Shrinking content to fit on slide][5]
* 很棒的资源 refcard-org-beamer 详情参见其 [Github repo][6] 中的 PDF .org 文件
* 很漂亮的主题 [Theme matrix][7]
#### 4.2 下一个 Emacs 系列
mu4e 邮件!
--------------------------------------------------------------------------------
via: http://changelog.complete.org/archives/9900-emacs-5-documents-and-presentations-with-org-mode
作者[John Goerzen][a]
译者[oneforalone](https://github.com/oneforalone)
校对[校对者ID](https://github.com/校对者ID)
选题[lujun9972](https://github.com/lujun9972)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://changelog.complete.org/archives/author/jgoerzen
[1]:https://hartwork.org/beamer-theme-matrix/all/beamer-albatross-Marburg-1.png
[2]:https://orgmode.org/worg/exporters/beamer/tutorial.html
[3]:https://en.wikibooks.org/wiki/LaTeX/Presentations
[4]:https://tex.stackexchange.com/questions/117658/automatically-generate-section-title-slides-in-beamer/117661
[5]:https://tex.stackexchange.com/questions/78514/content-doesnt-fit-in-one-slide
[6]:https://github.com/fniessen/refcard-org-beamer
[7]:https://hartwork.org/beamer-theme-matrix/
[8]:https://changelog.complete.org/archives/tag/emacs2018
[9]:https://github.com/jgoerzen/public-snippets/blob/master/emacs/emacs-org-beamer/emacs-org-beamer.org
[10]:http://changelog.complete.org/archives/9900-emacs-5-documents-and-presentations-with-org-mode
[11]:https://github.com/jgoerzen/public-snippets/raw/master/emacs/emacs-org-beamer/emacs-org-beamer.pdf
[12]:https://github.com/jgoerzen/public-snippets/raw/master/emacs/emacs-org-beamer/emacs-org-beamer-document.pdf
[13]:https://orgmode.org/manual/Exporting.html#Exporting
[14]:https://en.wikipedia.org/wiki/Beamer_(LaTeX)
[15]:https://orgmode.org/manual/Export-settings.html#Export-settings
[16]:https://www.flickr.com/photos/jgoerzen/26366340577/in/dateposted/
[17]:https://orgmode.org/worg/org-tutorials/non-beamer-presentations.html#org-tree-slide
[18]:https://orgmode.org/worg/org-tutorials/non-beamer-presentations.html
[19]:https://www.emacswiki.org/emacs/ELPA