如何使用 Emacs 創建 LaTeX 文檔
一篇由 Aaron Cocker 寫的很棒的文章 「在 LaTeX 中創建文件的介紹」 中,介紹了 LaTeX 排版系統 並描述了如何使用 TeXstudio 來創建 LaTeX 文檔。同時,他也列舉了一些很多用戶覺得創建 LaTeX 文檔很方便的編輯器。
Greg Pittman 對這篇文章的評論吸引了我:「當你第一次開始使用 LaTeX 時,他似乎是個很差勁的排版……」 事實也確實如此。LaTeX 包含了多種排版字體和調試,如果你漏了一個特殊的字元比如說感嘆號,這會讓很多用戶感到沮喪,尤其是新手。在本文中,我將介紹如何使用 GNU Emacs 來創建 LaTeX 文檔。
創建你的第一個文檔
啟動 Emacs:
emacs -q --no-splash helloworld.org
參數 -q
確保 Emacs 不會載入其他的初始化配置。參數 --no-splash-screen
防止 Emacs 打開多個窗口,確保只打開一個窗口,最後的參數 helloworld.org
表示你要創建的文件名為 helloworld.org
。
![Emacs startup screen](/data/attachment/album/201811/24/105211rn9new4rruwk58cm.png "Emacs startup screen")
GNU Emacs 打開文件名為 helloworld.org 的窗口時的樣子。
現在讓我們用 Emacs 添加一些 LaTeX 的標題吧:在菜單欄找到 「Org」 選項並選擇 「Export/Publish」。
![template_flow.png](/data/attachment/album/201811/24/105214h9jzdjd7itjlz8th.png "template_flow.png")
導入一個默認的模板
在下一個窗口中,Emacs 同時提供了導入和導出一個模板。輸入 #
(「[#] Insert template」)來導入一個模板。這將會使游標跳轉到一個帶有 「Options category:」 提示的 mini-buffer 中。第一次你可能不知道這個類型的名字,但是你可以使用 Tab
鍵來查看所有的補全。輸入 「default」 然後按回車,之後你就能看到如下的內容被插入了:
#+TITLE: helloworld
#+DATE: <2018-03-12 Mon>
#+AUTHOR:
#+EMAIL: makerpm@nubia
#+OPTIONS: ':nil *:t -:t ::t <:t H:3 n:nil ^:t arch:headline
#+OPTIONS: author:t c:nil creator:comment d:(not "LOGBOOK") date:t
#+OPTIONS: e:t email:nil f:t inline:t num:t p:nil pri:nil stat:t
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:t todo:t |:t
#+CREATOR: Emacs 25.3.1 (Org mode 8.2.10)
#+DESCRIPTION:
#+EXCLUDE_TAGS: noexport
#+KEYWORDS:
#+LANGUAGE: en
#+SELECT_TAGS: export
根據自己的需求修改標題、日期、作者和 email。我自己的話是下面這樣的:
#+TITLE: Hello World! My first LaTeX document
#+DATE: today
#+AUTHOR: Sachin Patil
#+EMAIL: psachin@redhat.com
我們目前還不想創建一個目錄,所以要將 toc
的值由 t
改為 nil
,具體如下:
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:nil todo:t |:t
現在讓我們添加一個章節和段落吧。章節是由一個星號(*
)開頭。我們從 Aaron 的貼子(來自 Lipsum Lorem Ipsum 生成器)複製一些文本過來:
* Introduction
paragraph{}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lorem
nisi, tincidunt tempus sem nec, elementum feugiat ipsum. Nulla in
diam libero. Nunc tristique ex a nibh egestas sollicitudin.
paragraph{}
Mauris efficitur vitae ex id egestas. Vestibulum ligula felis,
pulvinar a posuere id, luctus vitae leo. Sed ac imperdiet orci, non
elementum leo. Nullam molestie congue placerat. Phasellus tempor et
libero maximus commodo.
![helloworld_file.png](/data/attachment/album/201811/24/105218kt8tkrfijj7g8hyf.png "helloworld_file.png")
helloworld.org 文件
將內容修改好後,我們要把它導出為 PDF 格式。再次在 「Org」 的菜單選項中選擇 「Export/Publish」,但是這次,要輸入 l
(「export to LaTeX」),緊跟著輸入 o
(「as PDF file and open」)。這次操作不止會打開 PDF 文件讓你瀏覽,同時也會將文件保存為 helloworld.pdf
,並保存在與 helloworld.org
的同一個目錄下。
![org_to_pdf.png](/data/attachment/album/201811/24/105220c06y0rr0o22hue33.png "org_to_pdf.png")
將 helloworld.org 導出為 helloworld.pdf
![org_and_pdf_file.png](/data/attachment/album/201811/24/105222prduoc80cbi0hudo.png "org_and_pdf_file.png")
打開 helloworld.pdf 文件
你也可以按下 Alt + x
鍵,然後輸入 org-latex-export-to-pdf
來將 org 文件導出為 PDF 文件。可以使用 Tab
鍵來自動補全命令。
Emacs 也會創建 helloworld.tex
文件來讓你控制具體的內容。
![org_tex_pdf.png](/data/attachment/album/201811/24/105225xrkr2jgq5tgjfxrg.png "org_tex_pdf.png")
Emacs 在三個不同的窗口中分別打開 LaTeX,org 和 PDF 文檔。
你可以使用命令來將 .tex
文件轉換為 .pdf
文件:
pdflatex helloworld.tex
你也可以將 .org
文件輸出為 HTML 或是一個簡單的文本格式的文件。我最喜歡 .org
文件的原因是他們可以被推送到 GitHub 上,然後同 markdown 一樣被渲染。
創建一個 LaTeX 的 Beamer 簡報
現在讓我們更進一步,通過少量的修改上面的文檔來創建一個 LaTeX Beamer 簡報,如下所示:
#+TITLE: LaTeX Beamer presentation
#+DATE: today
#+AUTHOR: Sachin Patil
#+EMAIL: psachin@redhat.com
#+OPTIONS: ':nil *:t -:t ::t <:t H:3 n:nil ^:t arch:headline
#+OPTIONS: author:t c:nil creator:comment d:(not "LOGBOOK") date:t
#+OPTIONS: e:t email:nil f:t inline:t num:t p:nil pri:nil stat:t
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:nil todo:t |:t
#+CREATOR: Emacs 25.3.1 (Org mode 8.2.10)
#+DESCRIPTION:
#+EXCLUDE_TAGS: noexport
#+KEYWORDS:
#+LANGUAGE: en
#+SELECT_TAGS: export
#+LATEX_CLASS: beamer
#+BEAMER_THEME: Frankfurt
#+BEAMER_INNER_THEME: rounded
* Introduction
*** Programming
- Python
- Ruby
*** Paragraph one
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Cras lorem nisi, tincidunt tempus sem nec, elementum feugiat
ipsum. Nulla in diam libero. Nunc tristique ex a nibh egestas
sollicitudin.
*** Paragraph two
Mauris efficitur vitae ex id egestas. Vestibulum
ligula felis, pulvinar a posuere id, luctus vitae leo. Sed ac
imperdiet orci, non elementum leo. Nullam molestie congue
placerat. Phasellus tempor et libero maximus commodo.
* Thanks
*** Links
- Link one
- Link two
我們給標題增加了三行:
#+LATEX_CLASS: beamer
#+BEAMER_THEME: Frankfurt
#+BEAMER_INNER_THEME: rounded
導出為 PDF,按下 Alt + x
鍵後輸入 org-beamer-export-to-pdf
。
![latex_beamer_presentation.png](/data/attachment/album/201811/24/105226ibo2jf23hcofqoq7.png "latex_beamer_presentation.png")
用 Emacs 和 Org 模式創建的 Latex Beamer 簡報
希望你會愛上使用 Emacs 來創建 LaTex 和 Beamer 文檔(注意:使用快捷鍵比用滑鼠更快些)。Emacs 的 Org 模式提供了比我在這篇文章中說的更多的功能,你可以在 orgmode.org 獲取更多的信息.
via: https://opensource.com/article/18/4/how-create-latex-documents-emacs
作者:Sachin Patil 選題:lujun9972 譯者:oneforalone 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive