使用 Emacs Org 模式轻松创建 LaTeX 文档

您可以使用 LaTeX 来编写科学和技术文档,而无需通常需要的那些令人困惑的命令和语法。
118 位读者喜欢这篇文章。
Filing cabinet for organization

LaTeX 是一个强大的系统,特别适合编写科学和技术文档。 但是,用 LaTeX 编写文档可能会令人困惑,因为您需要了解很多命令,并且您的文本中充斥着反斜杠、大括号和其他语法干扰项。 但是,作为一名作家,要提高工作效率,就需要专注于文本的内容,而不是它的外观。 幸运的是,GNU Emacs Org 模式扩展可以轻松编写纯文本文件,并将其无缝导出到 LaTeX 和 PDF。

Org 模式 是一个内置的 Emacs 扩展,可帮助您记录笔记、维护待办事项列表、管理项目以及使用快速有效的纯文本系统创作文档。 Emacs 还附带 AUCTeX,一个用于在 Emacs 中编写 TeX 文件的可扩展软件包。 AUCTeX 具有预览模块,可显示您键入的结果,但我发现它分散注意力,因为它将我的注意力从文档的内容转移到其设计上。 在 Org 模式下编写文本是我的首选选项,因为源文件仍然是具有最少排版元素的纯文本文件。 文本独立于其结果,因为 Org 模式可以将其导出为多种格式,包括 LaTeX 和 PDF。

Emacs 以难以使用且学习曲线陡峭而闻名。 但是,只有当您想要微调默认设置时,Emacs 才会变得困难。 通过采用最简方法来使用 vanilla GNU Emacs,本文将使您能够快速轻松地编写精美文档,而无需任何复杂的配置。

第一步

在开始之前,请在您的计算机上安装 Emacs 和一个功能齐全的LaTeX 版本。

接下来,您需要了解一些约定。 在 Emacs 行话中,缩写 C-c 表示在键盘上输入 Ctrl+C。 缩写 M-x 表示 Alt+X。 M 代表修饰键,该键在现代系统中已不再存在。 S 前缀表示 Shift 键。

您可以使用 C-x C-f 组合键启动的 find-file 函数,创建一个新文档或打开一个现有文档。 输入此函数会在屏幕底部的迷你缓冲区中打开一个对话框,Emacs 在此与用户进行通信。 在迷你缓冲区中键入要创建或打开的文件的名称。 Emacs 对文件扩展名很敏感,因此请确保文档的名称以 .org 结尾。

用 Emacs 的话来说,打开或创建文件称为“访问”文件。 访问文件意味着将其内容读取到 Emacs 缓冲区中,以便对其进行编辑。 Emacs 为您访问的每个文件生成一个新缓冲区。

使用 Org 模式编写散文

访问文件后,您可以像在任何文本编辑器或文字处理器中一样开始键入文本。 一些约定:以 #+TITLE: 开头表示文档的标题,以 #+AUTHOR 表示您的姓名。 导出文件时,将使用这些选项。 Org 模式可以识别一系列导出设置以配置输出。 例如,要禁止显示目录,请输入 #+OPTIONS: toc:nil

Org 模式具有其自己的类似 Markdown 的约定来格式化您的文档。 标题以一个或多个星号开头。 Org 模式可以使用 TABS-TAB折叠标题以使部分内容不可见。 您可以将单词设置为 *粗体*/斜体/_下划线_=等宽=。 Org 手册描述了 富文本 的许多选项。

您会很快注意到,普通 vanilla Emacs 的一个小小的问题是,它不会在可见屏幕的末尾处换行。 Emacs 具有多个换行功能,并且 Visual Line 模式 对于编写长篇文本最有用。 要激活此模式,请使用 M-x 并在屏幕底部的迷你缓冲区中输入 visual-line-modeM-x 键盘快捷键可执行没有直接键盘快捷键的功能。

添加图像就像在双括号内添加图像文件的链接一样容易

[[file:path_to_image.png]]

Org 有一个出色的系统,可以在纯 ASCII 中格式化表格。 任何带有 | 的行都被视为表格的一部分。 竖线也是列分隔符。 以 |- 开头的行将呈现为水平规则,并且第一个水平规则之前的行是标题行。 表格在源文件中可能如下所示

| Name  |   id | Age |
|-------+------+-----|
| Peter | 1234 |  50 |
| Sue   | 4321 |  54 |

图像和表格都以 #+CAPTION: 开头以添加标题。 还可以使用高级选项来控制图形的浮动位置和大小。

Emacs 具有广泛的编辑功能,可让您在键入文本时提高效率。 拼写检查、同义词库、自动完成和撤消树只是帮助您高效写作的一些工具。

将 LaTeX 代码片段添加到 Org

除了文本本身之外,Org 模式文本还可以包含简单的 LaTeX 命令,例如文本中的 \newpage。 标准 LaTeX 语法中的公式位于美元符号之间 $e^{i\pi} + 1 = 0$org-latex-preview 函数 (C-c C-x C-l) 显示文本缓冲区中任何 LaTeX 方程的预览。 最后,您还可以添加完整的 LaTeX 代码片段以插入复杂内容。 该代码必须放在导出块中

#+BEGIN_EXPORT latex
\setlength{\unitlength}{1cm}
\thicklines
\begin{picture}(10,6)
\put(2,2.2){\line(1,0){6}}
\put(2,2.2){\circle{2}}
\put(6,2.2){\oval(4,2)[r]}
\end{picture}
#+END_EXPORT

导出到 LaTeX

Org 模式包含一个强大的导出模块,可以使用强大的 Pandoc 软件将您的文件转换为多种格式。 使用 org-export-dispatch 函数启动导出模块,您可以使用 C-c C-e 键盘快捷键运行该函数。 调度程序将拆分您的屏幕并提供一系列选项。

首先,Pandoc 将 Org 模式文件转换为 LaTeX 文件。 然后,您可以选择在新缓冲区中打开 LaTeX 文件或将其另存为文件。 Org 模式还可以直接渲染 PDF 文件,您可以在 Emacs 中查看或将其保存到磁盘。

Emacs with Org mode source and PDF preview

高级用法

本文提供了使用 Org 模式和 LaTeX 编写散文的初步体验。 Org 模式具有许多配置选项,可以微调您的文档或更改默认设置。

默认情况下,Org 模式使用文章样式导出文档,但是您可以使用导出设置来更改此设置。 这些设置还可以用于将命令添加到文档标头,例如

#+LATEX_CLASS: report
#+LATEX_CLASS_OPTIONS: [a4paper]
#+LATEX_HEADER: \usepackage{times}

如果您编写科学文档,则 John Kitchin 的 org-ref 包提供了 Org 模式模块,用于 Org 模式中的引用、交叉引用和书目,以及有用的 BibTeX 工具。

Org 模式手册的 LaTex 导出 部分提供了对可用功能的详细讨论。

结论

Org 模式是编写 LaTeX 的完美编辑器。 主要优点是您可以摆脱 LaTeX 语法的混乱,而专注于文本。 这没有成本,因为您仍然可以根据需要添加尽可能多的 LaTeX 代码,并且可以访问 Emacs 中强大的编辑功能。

使用 Org 编写书籍和文章可让您专注于文本,同时结合两个最古老和最强大的开源软件。

接下来阅读什么
标签
Peter Prevos
Peter 是一位 <a href="https://lucidmanager.org">水务工程师</a> 和社会科学家,对分析数据充满热情。 Peter 是澳大利亚区域水务公司的经理,他使用数据创造有价值的见解。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.