aplTeX is a minimal TeX distribution built on LuaTeX and Web2C. It includes:
- Engine: Statically linked LuaTeX compiled with HarfBuzz and Lua5.3.
- Fonts: TFM and Type1 (Computer Modern, AMSFonts, Manual fonts).
- Format: Unicode aware plain-LuaTeX (original
plain.tex
modified for eTeX, pdfTeX and LuaTeX).
All packed into just 12.6MB.
Basically this is for TeXnicians who need a small, self-contained modern TeX setup. This has nothing to do with the A Programming Language.
Tested on Darwin (Sequoia) and Linux (Gentoo), aplTeX has minimal dependencies:
- Make: Tested with GNU Make.
- Clang: Other C compilers require slight edits to
comp.sh
. - Git: Required to pull the LuaTeX source tree.
- Build: Run
./make/build.sh
to create thetexmf
directory containing the engine, fonts, and dumped format. - Install: Use
./make/install.sh
to movetexmf
to/usr/local/lib
and install the LuaTeX executable.- NB, you can actually put
texmf
anywhere on your disk, but its name should not be changed, and you are recommended to symlink thetexmf/web2c/luahbtex
executable to your$PATH
.
- NB, you can actually put
- Clean (Optional): Run
./make/clean.sh
to remove the builttexmf
directory, locks for compile-time directories, and various logs.
Do not run the scripts as root as you will be prompted during installation to grant access when necessary.
Look in the releases page for some useful packaged and ready-to-use macros to support OpenType fonts, diagram drawing with the builtin MetaPost library, etc.
You can also manually add packages or formats. The directory structure looks like:
texmf
├── fonts % place to drop font-related things
│ ├── map
│ ├── tfm
│ ├── ofm
│ ├── vf
│ ├── ovf
│ ├── type1
│ ├── truetype
│ └── opentype
├── generic % TeX macros, Lua scripts, etc
├── metapost % MetaPost macros, inputs, etc
└── web2c % engine executables, TEXMF configuration, dumped formats
├── luahbtex
├── luatex.fmt
└── texmf.cnf
aplTeX uses a modified TeX and MetaFont directory tree structure, differing from the standard TDS slightly:
- Compile-time:
luatex/texmf.in
. - Run-time:
web2c/texmf.cnf
.
Unlike typical TeX setups, aplTeX doesn't use ls-R
databases due to its relatively small file count. This eliminates extra executables and simplifies updates.
aplTeX uses luatex.map
for font mapping, which is more intuitive compared to the default pdftex.map
. The dumped format includes a \everyjob
hook to force this behavior.
For questions or inquiries, feel free to open an issue or contact me via email.
This project is licensed under the Clause-3 BSD License. The current version is 1.0.2
.
Some files under the directory amsfonts
and fmtdump
are provided as-is, subject to their respective licenses. Refer to the readme.txt
files under these directories.