TeX Live宏包集合和自定义安装

“TeX Live每回都让我装几千个包,装完6个G,脑壳疼。”

这里稍微讨论一下整个TeX Live里都有啥。TeX Live的打包策略为体系(scheme)——集合(collection)——软件包/宏包三层。体系里scheme-full就是全家桶了,其它的体系由若干个集合构成,每一个集合包含了宏包或软件包。集合与集合之间、体系与集合之间还有一定的相互依赖关系。

以win32版本为例,在安装界面可以看到41个集合(其它操作系统下可能有少量出入)。安装完毕后,也可以在命令行下用tlmgr info collections查看:

i collection-basic: Essential programs and files
i collection-bibtexextra: BibTeX additional styles
i collection-binextra: TeX auxiliary programs
i collection-context: ConTeXt and packages
i collection-fontsextra: Additional fonts
i collection-fontsrecommended: Recommended fonts
i collection-fontutils: Graphics and font utilities
i collection-formatsextra: Additional formats
i collection-games: Games typesetting
i collection-humanities: Humanities packages
i collection-langarabic: Arabic
i collection-langchinese: Chinese
i collection-langcjk: Chinese/Japanese/Korean (base)
i collection-langcyrillic: Cyrillic
i collection-langczechslovak: Czech/Slovak
i collection-langenglish: US and UK English
i collection-langeuropean: Other European languages
i collection-langfrench: French
i collection-langgerman: German
i collection-langgreek: Greek
i collection-langitalian: Italian
i collection-langjapanese: Japanese
i collection-langkorean: Korean
i collection-langother: Other languages
i collection-langpolish: Polish
i collection-langportuguese: Portuguese
i collection-langspanish: Spanish
i collection-latex: LaTeX fundamental packages
i collection-latexextra: LaTeX additional packages
i collection-latexrecommended: LaTeX recommended packages
i collection-luatex: LuaTeX packages
i collection-mathscience: Mathematics, natural sciences, computer science packages
i collection-metapost: MetaPost and Metafont packages
i collection-music: Music packages
i collection-pictures: Graphics, pictures, diagrams
i collection-plaingeneric: Plain (La)TeX packages
i collection-pstricks: PSTricks
i collection-publishers: Publisher styles, theses, etc.
i collection-texworks: TeXworks editor; TL includes only the Windows binary
i collection-wintools: Windows-only support programs
i collection-xetex: XeTeX and packages

上面每一行前面的i代表已安装的集合。

下面大致介绍一下每个集合里都有啥,介绍的顺序有微调。如果对每个集合到底包括了什么东西感兴趣,可以到TeX Live安装目录下的tlpkg\tlpobj里找到对应的.tlpobj文件打开看。

  • collection-basic

没啥好说的,不装没法用。主要是TeX Live Manager(包管理器)、底层的TeX(web2c)、bibtex、Computer Modern字体和AMS字体包。

  • collection-bibtexextra

这里面的大头是biblatex宏包、样式包以及依赖的biber程序,此外还有一部分传统的BibTeX样式,部分学术论文模板会用到。

  • collection-binextra

一些辅助的程序和脚本,最重要的是texdoc。其余比较重要的是asymptote程序,另外还有一些实用的脚本如latexdiff

  • collection-context

ConTeXt格式,有工夫琢磨的人可以装来玩玩,大部分赶着写论文的怕是没工夫……

  • collection-fontsrecommended

先讲这个。TeX Live“推荐安装”的字体,不过没多少,包括大字符集的Computer Modern、Latin Modern、psnfss(PostScript35套字体,Helvetica/Times/Palatino等)、TeX Gyre(PostScript35套字体的OTF对应版本,还包括四个OpenType数学字体,“波兰蠢驴制造,值得信赖”)、txfonts、pxfonts等。

  • collection-fontsextra

这就是个大家伙了,6个G的占用空间,字体能吃掉三分之一强。里面用得比较多的是STIX和分支版XITS,Libertine和分支版Libertinus,以及cm-unicode。

  • collection-fontutils

面向字体包开发者的一些工具,主要的用途是从TTF/PostScript格式的字体生成TeX支持的TFM。

  • collection-formatsextra

非LaTeX格式,如Omega/Aleph引擎支持的Lambda格式(其实是LaTeX格式基础上加了一点点私货)。一个好玩的格式是lollipop。这个集合没工夫玩的话可以不装。

  • collection-games

排版棋类、数独等游戏的宏包,炫技用,用的人极少。

  • collection-humanities

排版人文科学内容的宏包。人文学科莫得牌面啊。

  • collection-langcjk
  • collection-langchinese
  • collection-langjapanese
  • collection-langkorean

第一个就是已经被劝退无数次的CJK包,但是因为某些旧版本的字体包(如文鼎字体包arphic)依然存在,所以后三个语言包仍然依赖第一个。中文包里面我好像还发现了两个毕业论文模板,这个不太合理,应该归类到collection-publishers里去。另外pTeX引擎和相关的格式如upLaTeX被归类到collection-langjapanese里。

  • collection-lang*

剩下13个语言包,主要是各语言的宏包、帮助文档(如lshort的各种翻译)和少量字体。比较恶心的是,babel及其使用的断词(hyphen)数据被分散在了各个集合,所以不装集合的话有可能要单独装那些包。

  • collection-latex
  • collection-latexrecommended
  • collection-mathscience
  • collection-pictures

这四个放在一块。如果从零学LaTeX而不是填模板的话,绝大多数能用到的包都在这四个集合里。beamer被归类在latexrecommended里。最后一个主要就是TikZ全家桶。

  • collection-latexextra

这个就一言难尽了,宏包数量有1300+,但绝大多数人从入门到退坑也就能用到两位数数量的包。包括beamer的样式包、斜线表头diagbox、表格排版的大包tabu、尾注endnote、脚注样式footmisc、词汇表glossaries、排版代码的minted、表格辅助包makecell/multirow、简历模板moderncv、基于TikZ的盒子样式包tcolorbox等。

  • collection-luatex

LuaTeX引擎和相关的宏包。

  • collection-metapost

MetaPost和相关的宏包/工具。

  • collection-music

排版乐谱的宏包和工具,这个用的人有多少,真没调研过。

  • collection-plaingeneric

Plain TeX格式的宏包以及一些格式无关的通用包。排版下划线的ulem在这里,因为它编写成了格式无关的包。

  • collection-pstricks

Pstricks绘图工具和相关的包。老用户可能用得多。

  • collection-publishers

学术论文和毕业论文模板宏包。

  • collection-texworks

TeXworks编辑器。我自己没装,人生苦短,我用VSCode[逃

  • collection-wintools

Windows独占集合,也是每次卸载时注册表残留项的来源。一个是dviout,直接看DVI文件的;另一个是bitmap2eps ,把位图转成EPS格式的。这两个应该是LaTeX+dvips时代的产物,现在真的可以不用了。

  • collection-xetex

XeTeX引擎和相关的包,比如xeCJK。


如果不想安装整个全家桶的话,以上集合里面标粗的部分是我个人推荐安装的部分,另外在其它集合如collection-fontsextra、collection-latexextra和collection-publishers下的宏包、模板和字体包则按需安装,也包括collection-plaingeneric集合里的ulem包。

如果想要卸载整个集合呢?可以尝试命令tlmgr remove collection-<name>,尝试之前用tlmgr remove --dry-run collection-<name>可以列出被卸载的包但不执行卸载。但是如果使用完全安装的选项安装了TeX Live,很多集合可能由于依赖关系并没有办法卸载掉,比如13个语言包。

编辑于 05-05

文章被以下专栏收录