我应该从哪里开始 LaTeX 编程?

我应该从哪里开始 LaTeX 编程?

我对编写 TeX/LaTeX/XeLaTeX 软件包很感兴趣。我搜索了一番,但找到的都是关于如何使用 LaTeX 准备文档的指南或教程。我想知道 LaTeX 的工作原理以及如何更改它或向其中添加新内容。

哪本书/指南/教程是学习 LaTeX 编程最有用的资源?有没有关于 LaTeX 开发的官方文档?(我在官方网站上找不到开发 SCM。源代码是私有的吗?)

答案1

考虑到这篇文章已经很老了,我想添加另外两个在编程方面可能很有趣的资源。

我认为,为了熟练掌握 TeX 编程,需要掌握三个类别(也许程度不同):

  1. TeX 编程。这非常基础,它处理扩展控制、计数器、范围、基本循环结构等。

  2. TeX 排版。这是更高层次的,它包括对框、线、粘合、模式以及大约 1000 个参数的控制。

  3. 像 LaTeX 这样的宏包。

首先,当我开始用 TeX 编程时,我发现很难理解其中任何一个。我读了 TeX Book,它在 (2) 方面非常强大,并且是我所知道的 (1) 的最佳参考书。但是,它对 (1) 的介绍并不好,因为它的目的是教授排版,而不是编程。

从那时起,我学到了很多东西 - 我写了一篇关于 (1) 的文章,你可能会感兴趣。此外,我偶然发现了一本关于 TeX 的在线教科书,它很好地涵盖了 (1) 和 (2) - 尽管它只有德语版本。

以下是资源:

  1. TeX 编程笔记(由我撰写)。它随附于pgfplots或可以找到这里

  2. 一本关于 TeX 的免费在线书籍(德语!)在 TEX 中输入

  3. 一旦你开始编写程序包,你肯定会需要一个用户界面,即键值。Joseph Wright 写了一篇关于它的介绍文章,我贡献了一个关于相对较新的部分pgfkeys。我建议使用它,它非常简单(前提是使用提到的文章作为介绍,而不是复杂的参考手册,它是 pgfmanual.pdf 的一部分)。文章可以在 TUGboat 上找到这里

我必须坦白承认,我一直渴望找到一本关于如何使用 LaTeX 编程的优秀入门书 - 但我从未找到过。最后,我被困在了其中,pgf它实现了许多实用函数,但我发现它更容易理解。

此外pgf,我发现的关于 LaTeX 的最佳文档(除了clsguideStefan 提到的)是 LaTeX 内核源代码(他也提到了)。但它们很神秘,需要对 (1) 和 (2) 有非常深入的理解才能阅读它们。

答案2

你可以从适用于课程和软件包编写者的 LaTeX2ε又名clsguide

我们的网站上已有一些与此相关的信息,例如:

如果你读一下评论,你就能学到很多东西LaTeX2ε 源又名source2e。为了更好地理解,你可以学习 TeX或使用TeX 参考

答案3

我第一次接触LaTeX的时候,买了Lamport的LaTeX:文档准备系统但是,遗憾的是,我发现它太肤浅了,很多(甚至是基本)的东西我都不明白。

因此,当我后来注意到这一切都是从 Knuth 的 TeX 开始的时候,我觉得这可能是开始研究 TeX 的合理方式。结果我买了 Knuth 的TeXbook因为它是程序的发明者和创建者编写的程序手册。实际上它真的是正确的决定!它精确地描述了 TeX 的工作原理:

  • 如何读取和标记输入(文件)
  • 如何定义宏
  • 如何使用寄存器进行计算

这本书帮助我真的了解 TeX。我认为它可以被视为彻底了解 TeX 的基础文献,也是 LaTeX 的基础。

(注:我在阅读时深深地爱上了 TeXTeXbook我从未觉得需要使用任何其他格式。;-) )

答案4

非常有用的书籍-2,开始使用 Latex 进行编程 https://www.dickimaw-books.com/booklist.php?book_id=13

以及更精确的链接:https://www.dickimaw-books.com/latex/novices/novices-report.pdf

相关内容