Skip to content

RadioNoiseE/apltex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

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.

Installation

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.

Procedure

  1. Build: Run ./make/build.sh to create the texmf directory containing the engine, fonts, and dumped format.
  2. Install: Use ./make/install.sh to move texmf 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 the texmf/web2c/luahbtex executable to your $PATH.
  3. Clean (Optional): Run ./make/clean.sh to remove the built texmf 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.

Post-Installation

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

Details

Kpathsea Configuration

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.

Format & Font Maps

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.

Misc

For questions or inquiries, feel free to open an issue or contact me via email.

License

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.