LaTeX 生态系统中不同实体(TexLive、pdlatex、latexmk)的作用是什么?

LaTeX 生态系统中不同实体(TexLive、pdlatex、latexmk)的作用是什么?

我以前只使用 overleaf 编译我的 tex 文件,它可以处理所有底层事务。现在,我试图弄清楚不同的程序的作用。我知道 Texlive 和 MikTex 执行相同的功能,pdflatex 和 LuaTex 也是如此,然后还有 latexmk(它是一个 make 系统,不确定它是什么)。pdflatex 似乎是一个编译器,但我不确定 TeXLive 是什么,尽管我读过它只是一组库。

我还没有读过关于这方面的任何概述,所以希望可以澄清一下:TexLive、pdfLatex、Latexmk 等程序的功能是什么?它们之间有什么关系?也许澄清这个问题的一种方法是解释当使用 overleaf 等 IDE 编译 .tex 文件时如何调用这些不同的程序。

答案1

要使用 TeX,您需要:

  • TeX 的实现(用现代术语来说就是“tex 引擎”),它可以将源文件转换为 PDF(或 DVI)。pdftex目前使用最广泛的变体。
  • 用于编写 tex 文件的编辑器。(我使用但emacs,,,,texstudio... )texshopvimnotepad
  • 可供使用的大量输入文件集合:字体、乳胶包、参考书目样式......
  • 各个部分的文件。
  • 辅助程序用于执行相关工作,例如对索引和参考书目进行排序:bibtex,,,,,...bibermakeindexxindy
  • 可选的包装器脚本可帮助决定以何种顺序运行哪些程序。一些编辑器菜单选项或实用程序(例如latexmk、、arara...)可执行此操作
  • 用于查看生成的 PDF 的预览器:acrobat reader、大多数 Web 浏览器、、xpdf...

为了获得所有这些不同的部分,大多数人使用诸如 texlive 或 miktex 之类的发行版,它们提供所有这些部分并提供更新实用程序。Linux 系统在其标准 Linux 包管理器中包含 texlive 的变体,或者您可以直接安装 texlive 或 miktex。

Overleaf 提供了一个托管的 texlive 系统以及一个在线编辑器(ACE)和一个跨浏览器的 PDF 查看器(pdf.js,本质上是 Firefox 中使用的 PDF 阅读器,但打包为一个跨浏览器的 javascript 库)。它使用 latexmk 来控制处理,以便根据需要通过 pdflatex/bibtex/makeindex 等处理文档以生成显示的 PDF,

相关内容