因为不想装那些TeXLive即使是最小化安装也要装的脚本(mktexlsr/kpathsea-tools/updmap/…),也因为用不着pdfTeX这些引擎,更不需要那一堆宏集,又不是很喜欢标准的TDS(我能理解因为东西很多要分门别类地放好它们不是一件很容易的事情),所以上周重装系统后就自己搞了一个发行版:
基于Lua(HB)TeX和Web2C,有一些我比较在意的特性:
- Self-contain,bootstrap完就是一个
texmf
文件夹,你可以把它放在硬盘上任何位置,并且只需要链接/some/prefix/texmf/web2c/luahbtex
到/usr/local/bin/luatex
就可以正常使用,静态链接(当然Darwin需要链接/usr/lib/libSystem.B.dylib
和/usr/lib/libc++.1.dylib
); - Compact,只会读
/some/prefix/texmf
和~/.texmf
两个目录(而不是像TeXLive一样有各种*-local
,*-var
,~/.texliveYYYY
,等); - 以TeX为中心,Kpathsea仅作为LuaTeX搜索文件的库,所以不会安装
kpsewhich
等可执行以及mktexlsr
,不使用ls-R
数据库; - 最小化依赖,只需要一个C编译器,Make和POSIX-compliant shell即可;
- 传统体验,默认只会dump一个plain-TeX(就是最开始的
plain.tex
打了一些eTeX等扩展补丁,unicode-aware),默认附带所有的AmSFont(只装TFM和Type1); - 符合直觉,LuaTeX会读
luatex.map
而不是NTR的pdftex.map
(所以改动了format,加了一个\everyjob
)。
同时我还打包了一些我觉得比较有用的plainTeX宏集,处理好依赖关系,删掉不需要的东西之后放到releases里了:
目前主要是两个包:
luamplib
,调用LuaTeX自带的mplib(就是MetaPost)绘图;luaotfload
,ConTeXt的font-loader的(plain|La)TeX迁移,支持使用OpenType/TrueType字体,调用其特性。
我刚打包了luatexja,可以写CJK了:
欢迎试用(