CTAN Comprehensive TeX Archive Network

Directory systems/apltex

README.md

Overview

apl is a minimal distribution built on Lua and Web2C. It includes:

  • Engine: Statically linked Lua compiled with HarfBuzz and Lua5.3.
  • Fonts: TFM and Type1 (Computer Modern, AMSFonts, Manual fonts).
  • Format: Unicode aware plain-Lua (original plain.tex modified for e, pdf and Lua).

All packed into just 12.6MB.

Basically this is for nicians who need a small, self-contained modern setup. This has nothing to do with the A Programming Language.

Installation

Tested on Darwin (Sequoia) and Linux (Gentoo), apl has minimal dependencies:

  • Make: Tested with GNU Make.
  • Clang: Other C compilers require slight edits to comp.sh.
  • Git: Required to pull the Lua 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 Lua 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 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

apl uses a modified and directory tree structure, differing from the standard TDS slightly:

  • Compile-time: luatex/texmf.in.
  • Run-time: web2c/texmf.cnf.

Unlike typical setups, apl doesn't use ls-R databases due to its relatively small file count. This eliminates extra executables and simplifies updates.

Format & Font Maps

apl 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.

Download the contents of this package in one zip archive (3.8M).

apl – Tiny distribution built on Web2C and Lua

apl is a minimal distribution built on Lua and Web2C, designed for nicians seeking a small, modern, and self-contained installation.

It has been tested on Darwin (Sequoia) and Linux (Gentoo).

PackageaplTeX
Bug trackerhttps://github.com/RadioNoiseE/apltex/issues
Repositoryhttps://github.com/RadioNoiseE/apltex
Version1.0.2
Licenses3-clause BSD License
Copyright2024 Jing Huang
MaintainerJing Huang
TopicsDistribution
...
Guest Book Sitemap Contact Contact Author