Linux中國

如何使用 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: &apos;: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: &apos;: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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國