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
相關文章
- Emacs 系列(三): Org 模式的補充Mac模式
- Emacs 系列(四):使用 Org 模式自動管理郵件及同步文件Mac模式
- 開始使用 Org 模式吧,在沒有 Emacs 的情況下模式Mac
- 高效使用 Org 模式模式
- 模式方法模式之需求演示模式
- Java設計模式之(五)——代理模式Java設計模式
- 設計模式系列之「裝飾模式」設計模式
- 設計模式系列之「組合模式」設計模式
- webpack系列之五module生成2Web
- webpack系列之五module生成1Web
- 設計模式系列之「責任鏈模式」設計模式
- Kotlin 設計模式系列之單例模式Kotlin設計模式單例
- 設計模式系列之「抽象工廠模式」設計模式抽象
- 【趣味設計模式系列】之【組合模式】設計模式
- 軟體開發專案文件系列之五如何撰寫需求規格說明書
- 用來記筆記的三個 Emacs 模式筆記Mac模式
- 軟體設計模式系列之十六——命令模式設計模式
- 【趣味設計模式系列】之【訪問者模式】設計模式
- 【趣味設計模式系列】之【裝飾器模式】設計模式
- 設計模式系列之建造者模式(Builder Pattern)——複雜物件的組裝與建立設計模式UI物件
- Scala 與設計模式(五):Adapter 介面卡模式設計模式APT
- Java設計模式系列之單例設計模式Java設計模式單例
- 軟體設計模式系列之十八——迭代器模式設計模式
- 軟體設計模式系列之十九——中介者模式設計模式
- 軟體設計模式系列之十二——外觀模式設計模式
- 軟體設計模式系列之十三——享元模式設計模式
- 軟體設計模式系列之十——組合模式設計模式
- 幫助文件(五)
- TypeScript系列文件TypeScript
- Emacs使用Mac
- Dubbo系列之 (五)服務訂閱(2)
- SpringBoot基礎系列之自定義配置源使用姿勢例項演示Spring Boot
- Emacs 除錯祕籍之 GUD 偵錯程式Mac除錯
- 軟體設計模式系列之十七——直譯器模式設計模式
- 設計模式系列之工廠模式三兄弟(Factory Pattern)設計模式
- 設計模式實戰系列之@Builder和建造者模式設計模式UI
- 深入JavaScript系列(五):JS與記憶體JavaScriptJS記憶體
- Activity啟動模式(GIF 動態演示)模式