Skip to content
muzimuzhi edited this page Apr 29, 2019 · 6 revisions

要参与 LaTeX 模板的开发,首先要熟悉面向用户的命令和工具,除了 lshort,还应熟悉:

  • latex2e: 系统地介绍 LaTaX 的文档,有许多平时不常用的命令

  • 所用宏包的文档(可能还有源码),比如 caption, ctex, etoolbox, fancyhdr, geometry, graphicx, hyperref, natbib, titletoc, unicode-math

  • 常用的工具 latexmk, texdoc

  • 一些调试技巧如 \show\meaning 命令

下面是面向开发的文档:

  • clsguide: 给 LaTaX2e 宏包作者的指南

  • fntguide, fontspec 字体的设置

  • classes: 三个标准文档类 article, book, report 的实现

  • source2e: LaTaX2e 的源码

  • dtxtut: LaTeX 的宏包与说明文档的封装方式,更详细的有 docstripdocJoseph Wright 的文章 介绍了更好封装的技巧

关于更底层的 TeX 知识,有以下资料:

  • The TeXbook: Knuth 的 TeX 圣经,了解底层 TeX 的原理必读。还有更简略一点的介绍文档 TeXbyTopic 和 impatient。

  • The LaTeX Companion: 一本大而全的书。

关于 BibTeX,应阅读以下文档:

  • btxdoc, btxhak: BibTeX 的说明文档

  • btxbst.doc: BibTeX 的三个标准 bst 的源文件(带注释)

  • ttb: 关于 bst 更详细的介绍

  • natbib: natbib 宏包的文档

LaTeX3 的开发正在进行中,其底层接口已经相对成熟和稳定。xecjkctex 均是建立 在 LaTeX3 基础上的。关于 LaTeX3 的语法的文档有:

  • expl3: 这是 LaTeX3 编程接口宏包的文档

  • l3styleguide: 这是 LaTeX3 项目组写给开发者的指南

  • interface3: 这是 LaTeX3 的开发者接口文档

  • source3: 这是 LaTeX3 的实现

参考:

开发一个 LaTeX 宏包需要多少知识? - 知乎

如何写一个 package 或者 class - 知乎专栏

一些高质量的模板: