Emacs 系列(五):Org 模式之文檔與演示稿
這是 Emacs 和 Org 模式系列的第五篇。
這篇博文是由 Org 模式的源文件生成的,其有幾種格式:博客頁面、演示稿 和 PDF 文檔。
1 Org 模式的輸出
1.1 背景
Org 模式不僅僅只是一個議程生成程序,它也能輸出許多不同的格式: LaTeX、PDF、Beamer、iCalendar(議程)、HTML、Markdown、ODT、普通文本、手冊頁和其它更多的複雜的格式,比如說網頁文件。
這也不只是一些事後的想法,這是 Org 模式的設計核心部分並且集成的很好。
這一個文件可以同時是源代碼、自動生成的輸出、任務列表、文檔和展示。
有些人將 Org 模式作為他們首選的標記格式,甚至對於 LaTeX 文檔也是如此。Org 模式手冊中的 輸出一節 有更詳細的介紹。
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 中也包含了許多額外的輸出格式,詳情參見 ELPA。
2 Org 模式的 Beamer 演示
2.1 關於 Beamer
Beamer 是一個生成演示稿的 LaTeX 環境. 它包括了以下特性:
- 在演示稿中自動生成結構化的元素(例如 Marburg 主題)。 在演示稿中,這個特性可以為觀眾提供了視覺參考。
- 對組織演示稿有很大的幫助。
- 主題
- 完全支持 LaTeX
2.2 Org 模式中 Beamer 的優點
在 Org 模式中用 Beamer 有很多好處,總的來說:
- Org 模式很簡單而且對可視化支持的很好,同時改變結構可以快速的重組你的材料。
- 與 org-babel 綁定在一起,實時語法高亮源碼和內嵌結果。
- 語法通常更容易使用。
我已經完全用 Org 模式和 beamer 替換掉使用 LibreOffice/Powerpoint/GoogleDocs。事實上,當我必須使用其中一種工具時,這是相當令人沮喪的,因為它們在可視化表示演講稿結構方面遠遠比不上 Org 模式。
2.3 標題層次
Org 模式的 Beamer 會將你文檔中的部分(文中定義了標題的)轉換成幻燈片。當然,問題是:哪些部分?這是由 H 輸出設置(org-export-headline-levels
)決定的。
針對不同的人,有許多不同的方法。我比較喜歡我的演示稿這樣:
#+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
將縱橫比設為 16:9, 其它部分都是標準的 LaTeX/Beamer 配置。
2.6 縮小 (適應屏幕)
有時你會遇到一些非常大的代碼示例,你可能更傾向與將幻燈片縮小以適應它們。
只要按下 C-c C-c p
將 BEAMER_opt
屬性設為 shrink=15
。(或者設為更大的 shrink 值)。上一張幻燈片就用到了這個。
2.7 效果
這就是最終的效果:
3 幻燈片之間的交互
3.1 互動式的 Emacs 幻燈片
使用 org-tree-slide 這個插件的話,就可以在 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 演講稿一節。
4 更多
4.1 本文中的附加資源
- orgmode.org beamer tutorial
- LaTeX wiki
- Generating section title slides
- Shrinking content to fit on slide
- 很棒的資源: refcard-org-beamer
- 詳情參見其 Github repo 中的 PDF 和 .org 文件。
- 很漂亮的主題: Theme matrix
4.2 下一個 Emacs 系列
mu4e 郵件!
via: http://changelog.complete.org/archives/9900-emacs-5-documents-and-presentations-with-org-mode
作者:John Goerzen 選題:lujun9972 譯者:oneforalone 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive