[翻译] [Overleaf] 选择 LaTeX 编译器

142 篇文章 4 订阅
7 篇文章 2 订阅

原  文:Choosing a LaTeX Compiler
译  者:Xovee
翻译时间:2020年5月23日

选择 LaTeX 编译器

LaTeX 文档的样式、内容以及排版,都定义在一种后缀为 .tex 的 纯文本 文件里,这个文件可以用来生成各种 “人类可读的” 文档。生成这种文档最简单的方式即是使用 Overleaf。Overleaf 有着非常容易使用的、最新的 LaTeX 发行版,通过简单地点击 Recompile 按钮,就可以生成最终的文档;如果这便是你的所有需求,那么你可以忽略这篇文章,如果你想去了解计算机是如何编译文档的,那么这篇文章将会告诉你更多关于生成 PS、DVI、PDF 文件的细节。

介绍

LaTeX 文件是一种以 .tex 为后缀的纯文本文件(参考在 LaTeX 中创建文档),这个纯文本文件有着一些用来排版文档的命令,但是,最终的文件实际上是如何生成的呢?这取决于你想生成的文档的类型。

设想,你保存了你的文件,并且将其命名为 mydocument.tex。然后,在命令行中输入下面的命令来生成一个 .PDF 文件:

pdflatex mydocument.tex

然后一个名为 mydocument.pdf 的文件将会生成。

TeX 发行版

编译 TeX 或者 LaTeX 文档的程序叫做 TeX 排版控件(typesetting)或者 TeX 发行版(distribution)。你可以选择很多种不同的 TeX 发行版,取决于你所使用的操作系统:

  • MiKTeX:Windows
  • TeX Live:Linux 以及其他类似 UNIX 的系统
  • MacTeX:一种基于 TeX Live 的适用于 macOS 的发行版
  • teTeX:一种不再活跃维护的适用于 Linux 以及其他类似 UNIX 系统的发行版
  • proTeXt:基于 MiKTeX

当然,如果你不想去在本地安装它们,你可以直接在 Overleaf 中方便地在线使用它们。

LaTeX 编辑器

你可以选择非常多种类多专门为编辑 LaTeX 文档所设计的编辑器,它们有些是免费的,有些则不是。

  • 开源软件:AUCTEX、GNU TeXmacs、Gummi、Kile、LaTeXila、MeWa、TeXShop、TeXnicCenter、Texmaker、TeXstudio、TeXworks
  • 免费软件:LEd、WinShell
  • 收费软件:Inlage、Scientific WorkPlace、WinEdt

还有一些编辑器添加了支持 LaTeX 编辑的功能和扩展,著名的例子:emacs 和 vim 都有一个模版:LaTeX 扩展,类似的编辑器还有 Atom、VS code、Sublime Text。

值得一提的是,Overleaf 中的编辑器可以自定义为模拟 emacs 或 vim 的行为。你还可以更改 Overleaf 的外观,使用不同的代码高亮功能。你可以点击 Overleaf 菜单来找到各种相关的设置。

输出格式

在 TeX 发行版中,你一共可以选择三种输出格式。为了生成某种特定的输出文档,你需要在终端中(Linux 和 macOS)或者在命令行(Windows)中输入命令。

例如,如果你想去编译一个名为 mydocument.tex 的文件,你可以在下面选择一种指令:

latex mydocument.tex

这个指令将会生成 mydocument.dvi,一种 DVI 文档

pdflatex mydocument.tex

这个指令将会生成 mydocument.pdf,一种 PDF 文档

你还可以使用其他的指令来转换文档的格式,PS 图片也是支持的。文末的参考指南列出了它们相互之间的关系。

每种输出格式的特点:

  • (DVI) Device independent file 文件包含着二进制数据,其描述了文档的视觉排版,这个排版不依赖于任何图片格式、显示硬件、打印机。
  • (PS) PostScript 文件描述了页面中的文字和图片,它基于矢量图。PostScript,在桌面出版领域中,直到现在仍旧是标准。
  • (PDF) Portable Document Format 是一种基于 PostScript 的文件格式,它独立于应用软件、硬件和操作系统。它是一种广泛使用的打印和发行的文件格式。

注意:现在大多数的编辑器都有生成不同格式的快捷按钮,所以你不需要在系统的命令行中去运行这些指令。

在 Overleaf 中,最终编译后的输出是一个 PDF 文档。如果你想要生成一个 DVI 文件,那么你可以这样做:

  • 确保你只使用了格式为 .eps 和 .ps 的图片
  • 在 Overleaf 菜单中将编译器设置为 LaTeX
  • 重新编译项目
  • 点击 Recompile 按钮旁边的 Logs and output files 按钮,在底部点击 Other logs and output files
  • 然后你应该可以下载生成的 .dvi 文件

在这里插入图片描述

其他编译器

其他可选的编译器还有 pdfLaTeX (默认)、XeLaTeX、LuaLaTeX。一般来说,pdfLaTeX 就够用了,但有些时候你可能需要其他类型的编译器。

  • LaTeX 只支持 .eps 和 .ps 图片格式,所以如果你项目中的所有图片都是 .eps 格式,那么推荐你使用这个编译器。
  • pdfLaTeX 支持 .png, .jpgg, .pdf 图片格式。它会把 .eps 文件转换为 .pdf 文件,这个过程会加长编译所需的时间。(在 Overleaf 中,pdfLaTeX 也许不能很好的支持 pstricks
  • XeLaTeX 和 LuaLaTeX 都支持 UTF-8、Truetype、OpenType。如果你要在文档中输入非拉丁字符,那么我们推荐你配合 polyglossia 包来使用这两个编译器。它们支持 .png, .jpg, .pdf, .eps 图片格式。
  • XeLaTeX 支持 pstricks,但是 LuaLaTeX 不支持
  • 你可以在基于 LuaLaTeX 的文档中直接使用 Lua 代码

带有交叉引用的文档编译

在某些时候,当你的文档包含交叉引用的时候,你必须编译文档两次。对于表格、图片、引用数字、定理等内容,对其进行正确的编号是非常重要的。

在第一次编译的时候,LaTeX 编译器写入一个 .aux 文件,这个文件包含了不同的编号信息,然后在第二次编译的时候,编译器读取这些信息,然后生成正确的内容。

这个过程可以自动地使用 latexmk 完成。例如,为了从 mydocument.tex 文件中创建 PDF,运行:

latexmk -pdf mydocument.tex

在这种情况下,你只需要编译一次文档。你还可以使用 -dvi 来生成不同格式的输出。

参考指南

在这里插入图片描述

延伸阅读

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值