学习资源

在买 LaTeX 教科书之前,先数一数你已经拥有的书。 TeX Live 2024 收录了经典入门书 lshort 的 24 个语言版本——中文、英文、日文、韩文、德文、法文、西班牙文都在其中——每一种都只需一行 texdoc lshort 就能打开。同一个书架上还放着 317 页的《TeX by Topic》、为 LaTeX 内核逐处加注的 1,308 页源码,以及收录了 20,323 个符号的 481 页一览表。本页就是这堆书的地图:读什么,以及按什么顺序读(想知道去哪里提问,请看“社区”)。

已经在你机器上的 LaTeX 教材

这些全部可离线使用,现在就能打开。 只要在 texdoc 后面接上表格第一列的词,对应的 PDF 就会在查看器中弹出(texdoc lshorttexdoc symbols)。这里列出的都是在完整安装的 TeX Live 2024 上确认能打开的文档,篇幅也是从本机 PDF 上实测的数字。把表中最上面两本通读一遍,往往比读五篇网文更快。

texdoc 参数这是什么书篇幅
lshortThe Not So Short Introduction to LaTeX2ε,经典入门书英文版 153 页;24 种语言
first-latex-docJim Hefferon《Getting something out of LaTeX》,适合最初一小时9 页
l2tabu不该再用的旧命令与旧宏包清单英文版 22 页;另有德、法、意、西
usrguideLaTeX 团队官方的“LaTeX for authors”22 页
amsmathamsmath 用户指南(amsldoc);要排公式必读44 页
symbolsThe Comprehensive LaTeX Symbol List,查符号就看它481 页;20,323 个符号
latex2eLaTeX2e 非官方参考手册;用来查命令293 页;另有法文与西班牙文版
clsguide写文档类和宏包的人所用的官方指南30 页
fntguide字体选择机制(NFSS)的官方说明38 页
texbytopicVictor Eijkhout《TeX by Topic》,解剖 TeX 引擎的运作317 页
impatientTeX for the Impatient 的免费版,完整覆盖 plain TeX 命令393 页;另有中文与法文版
source2eThe LaTeX 2ε Sources,内核全文并附注释1,308 页
novicesNicola L C Talbot《LaTeX for Complete Novices》,面向纯新手279 页
minexample通篇只讲如何做出最小可运行示例(MWE)的小册子21 页
visualfaqThe Visual LaTeX FAQ,点排好的样例即跳到对应的 FAQ34 页;另有法文版

第一本读 lshort——“139 分钟读完的 LaTeX 入门”

如果只完整读一本入门书,就读 lshort。 它的全名是 The Not So Short Introduction to LaTeX2ε,副标题为“Or LaTeX2ε in 139 minutes”。TeX Live 2024 里的英文版是 Tobias Oetiker 等人的 6.4 版(2021 年 3 月 9 日),共 153 页——号称 139 分钟却有 153 页,这一点恰好道出了此书的性格。有意思的是它的来历。英文版致谢明确写道:大部分材料来自 Hubert Partl、Irene Hyna、Elisabeth Schlegl 用德语写的奥地利版 LaTeX 2.09 入门。换句话说,“Not So Short”本来就不是英语书,而是德语教材的后裔。这一支的德语版至今仍随 TeX Live 发行,即 l2kurz.pdfLaTeX2ε-Kurzbeschreibung,3.0c 版,2018 年 4 月 8 日)。

随附的语言版本共 24 种。日文(jlshort.pdf)、简体中文、韩文、德文、法文、西班牙文都在其中,此外还有从保加利亚文到越南文的各种版本。执行 texdoc -l lshort,它们会连同语言代码一起列出,若区域设置匹配,你的母语版会排在前面。不过各语言译本的新旧差别很大。英文版是 2021 年,而中文版排于 2023 年,韩文版 2021 年,法文版 2011 年,西班牙文版 2014 年,日文版 2015 年。稳妥的做法是两段式:用母语版建立整体认识,细节有疑问时再对照英文版的同一节。

terminal
texdoc lshort        # open your local copy (your locale picks the edition)
texdoc -l lshort     # list all 24 language editions, then choose
texdoc -M -l lshort  # same list, machine-readable: name, score, path, language

读完 lshort 之后的顺序

顺序的原则是:先会写,再纠正旧习,然后当字典查,最后才去看实现。 先能完整写出一份文档,再丢掉过时的写法,接着把参考书当词典用,必要时才去读实现。守住这个顺序,即使中途卡住,也知道自己卡在哪一层。反过来,一上来就打开 source2e,看到的不是答案,而是实现。下面不是按热门程度排的,而是按读了见效的顺序排的。

  • 1. texdoc lshort —— 一次性建立全局认识。跳过这一步,之后就不知道该查什么。
  • 2. texdoc l2tabu —— 先弄清哪些旧命令不该再用,最好在读网上老文章之前就做。
  • 3. texdoc usrguide —— LaTeX 团队自己写的作者指南,是当前内核提供了什么的官方说法。
  • 4. texdoc amsmathtexdoc symbols —— 排公式必读的两本:前者讲怎么写,后者是符号索引。
  • 5. texdoc latex2e —— 逐条查命令用的非官方参考,最擅长回答“这个命令有哪些选项”。
  • 6. 逐个宏包的 texdoc <名称> —— 用到某个宏包时再读它自己的说明书,这是最短路径。
  • 7. texdoc clsguidetexdoc fntguide —— 到了自己写文档类、替换字体的阶段再读。
  • 8. texdoc texbytopictexdoc source2e —— TeX 引擎与 LaTeX 内核的内部,很少需要走到这一步。

照着老文章写会出事——l2tabu 会拦住你

学习 LaTeX 最耗时间的事,就是把二十年前的做法照搬到今天的环境里。 把这些做法汇成一册的正是 l2tabu,全名是 An essential guide to LaTeX2ε usage — Obsolete commands and packages。原本是 Mark Trettin 的德文版,TeX Live 里收有 Jürgen Fenn 的英译本(1.8.5.7 版,2007 年 6 月 17 日,22 页),另有法文、意大利文和西班牙文版。像 \bf\it 这类不带参数的旧式字体命令、\centerline、与内核功能重叠的过时宏包——在搜索得到的老文章里,这些至今仍稀松平常地出现。读它花不了一小时,而这一小时能避免的事故相当可观。但要注意一点:l2tabu 本身是 2007 年的文档,此后被弃用的东西并未收录。较新的变化请用 texdoc ltnews 追读 LaTeX 团队自己的通讯。

印刷版的定番书——Lamport、LaTeX Companion 与《美文書》

纸质书就认准这两块招牌:入门看 Lamport,查阅看 Companion。 LaTeX: A Document Preparation System(Leslie Lamport,第 2 版,1994)是 LaTeX 作者本人写的官方用户指南,简洁,而且把基本模型讲对了。The LaTeX Companion(Frank Mittelbach 与 Ulrike Fischer 著,Javier Bezos、Johannes Braams、Joseph Wright 参与撰稿;第 3 版,2023,Addison-Wesley,两卷本)则是覆盖宏包与排版细节的百科式巨著。第 3 版与 TeX Live 也有接点:书中全部实例以 tlc3-examples 随 TeX Live 发行(第 I、II 部的源码与 PDF,合计一千五百多个文件),而 texdoc tlc3 打开的是勘误表。也就是说,买之前完全可以先翻翻实例。

中文读者若要了解日文环境,日语世界的事实标准是 《LaTeX美文書作成入門》(奥村晴彦、黒木裕介,技术评论社)。现行为修订第 9 版(2023 年 12 月,约 432 页),从基础一直讲到“想自己调整版式”这类深入话题,第 9 版加强了 LuaLaTeX 等现代引擎与 TeX Live 安装的说明。作者奥村晴彦也因 jsclasses 等日文 LaTeX 的维护工作而知名,因此书中内容与实际环境贴合度很高。若工作涉及日文排版,这是最省事的一本。

在线学习资源,以及该怎么读

日常查资料在线更快,但请养成看文章“年份”的习惯。 入门可读 Overleaf Learn(overleaf.com/learn),其中“Learn LaTeX in 30 minutes”无需账号即可阅读,是公认的入口。要求全面则看 LaTeX Wikibook(en.wikibooks.org/wiki/LaTeX)。具体问题几乎都能在 TeX Stack Exchange(tex.stackexchange.com)找到旧帖。想一览常见陷阱的类型,TeX FAQ(texfaq.org)很好用,而本机的 texdoc visualfaq 就是同一份 FAQ 的可视化索引——34 页,构想是点击排好的样例便跳到对应条目。本体的变更以 LaTeX Project(latex-project.org)为一手信息,本机也可用 texdoc ltnews 追读同样的通讯。宏包的一手信息在 CTAN(ctan.org)。日语圈则以 TeX Wiki(texwiki.texjp.org)和 奥村先生的 TeX 论坛(okumuralab.org/tex/)为两大中心。

高效学习——少走弯路的五条

  • 完整读一遍短入门。 lshort 或 Overleaf Learn。没有全局就到处捡碎片,最后连自己不懂什么都说不清。
  • 宏包等用到时再学,用 texdoc <名称> 宏包自己的说明书永远是最短的路。
  • 边写边学。 把一份文档做完,比翻三本入门书学到得多。出问题时读自己的 .log——错误原文就是最短的教材。
  • 看资料的年份。 旧文章里的做法可能已被现行版本取代。先 texdoc l2tabu,再用 texdoc ltnews 跟进。
  • 卡住就搜索;还不行就带上最小可运行示例(MWE)去问。 同样的问题通常已在 TeX Stack Exchange 上(参见“社区”)。