https://github.com/radionoisee/apltex
Tiny TeX distribution built on Web2C and LuaTeX.
https://github.com/radionoisee/apltex
kpathsea luatex tex web2c
Last synced: 3 months ago
JSON representation
Tiny TeX distribution built on Web2C and LuaTeX.
- Host: GitHub
- URL: https://github.com/radionoisee/apltex
- Owner: RadioNoiseE
- License: bsd-3-clause
- Created: 2024-12-15T15:25:45.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-22T04:15:18.000Z (6 months ago)
- Last Synced: 2025-02-09T08:28:55.591Z (4 months ago)
- Topics: kpathsea, luatex, tex, web2c
- Language: TeX
- Homepage: https://kekkan.org/article/apltex-dist.xml
- Size: 4.24 MB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 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`](https://github.com/RadioNoiseE/apltex/blob/main/luatex/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](https://github.com/RadioNoiseE/apltex/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.