L3BUILD(1)
π L3BUILD(1) β General Commands Manual, bestie edition π
okay so this is l3build, and no cap, it's the manual page for it. Like, from the General Commands Manual section, iykyk. Grab a snack, we're gonna get into it. β¨
πΈ NAME πΈ
l3build β that's her. That's the whole name section. Iconic, honestly.
β¨ SYNOPSIS β¨
Usage l3build <target> [<options>] [<names>]
so like, target first, then options, then names. In that order. The vibes must be respected. π«Ά
π¦ DESCRIPTION π¦
The l3build module is literally designed to support the development of high-quality LaTeX code, and it does that by giving you:
- A unit testing system π
- Automated typesetting of code sources β¨
- A reliable packaging system for CTAN releases π
The bundle consists of a Lua script to run the tasks, plus a .tex file which provides the testing environment. These were originally developed for supporting LaTeX development, but they're designed such that they can be readily used by others β yes, that includes you, bestie. Full documentation is provided. π
π₯ COMMANDS π₯
Valid targets are:
checkβ Runs all automated testscleanβ Cleans out directory treectanβ Creates CTAN-ready archivedocβ Typesets all documentation filesinstallβ Installs files into the local texmf treemanifestβ Creates a manifest filesaveβ Saves test validation logtagβ Updates release tags in filesuninstallβ Uninstalls files from the local texmf treeunpackβ Unpacks the source files into the build treeuploadβ Sends archive to CTAN for public release
eleven targets, all accounted for, we do not skip. periodt. π
π OPTIONS π
Valid options are:
--config|-cβ Sets the config(s) used for running tests--date|-dβ Sets the date to insert into sources--debugβ Runs target in debug mode--devβ Use the development LaTeX format--dirtyβ Skips cleaning up the test area--dry-runβ Dry run for install or upload--emailβ Email address of CTAN uploader--engine|-eβ Sets the engine(s) to use for running test--epochβ Sets the epoch for tests and typesetting--file|-Fβ Takes the upload announcement from the given file--firstβ Name of first test to run--fullβ Installs all files--halt-on-error|-Hβ Stops running tests after the first failure--help|-hβ Prints this message and exits--lastβ Name of last test to run--message|-mβ Text for upload announcement message--quiet|-qβ Suppresses TeX output when unpacking--rerunβ Skips setup: simply reruns tests--show-log-on-errorβ Shows the full log of the failure with--halt-on-error--show-saves|-Sβ Shows the invocation to update failing.tlgfiles--shuffleβ Shuffles order of tests--stdengine|-sβ Run tests with the std engine (config dependent)--texmfhomeβ Location of user texmf tree--versionβ Prints version information and exits
twenty-four options, all present and accounted for, she ate. π
π§ SEE ALSO π§
Full manual available via texdoc l3build. (yes, go read it, it's giving thorough.)
Repository : https://github.com/latex3/l3build
Bug tracker : https://github.com/latex3/l3build/issues
π AUTHORS π
Copyright (C) 2014-2025 The LaTeX Project
and that's the page!! π«Ά this version is the 2025-12-24 one, dated 2025-12-24, coming at you under the LaTeX source, and it's L3BUILD(1) all day. lowkey obsessed with this manpage fr fr. bye bestie, go run some targets ππ
π¦ where this page comes from
- alpine 3.24: texmf-dist-latexextra-doc 2026.0-r0 Β· LPPL-1.0 AND LPPL-1.1 AND LPPL-1.2 AND LPPL-1.3a AND LPPL-1.3c AND GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms