A GitHub Action that compiles LaTeX documents using a Docker-based TeXLive environment.
latex-action is a GitHub Action that automates the compilation of LaTeX documents within CI/CD workflows. It uses a Docker container with a maximal TeXLive installation to provide a reliable and reproducible build environment, ensuring all necessary packages and tools are available for consistent document generation.
Developers, researchers, and technical writers who maintain LaTeX documents in GitHub repositories and need automated, reproducible builds as part of their continuous integration pipelines.
Developers choose this action for its comprehensive TeXLive environment that avoids on-the-fly package installation, ensuring support for complex dependencies like Perl-based tools. It offers flexibility with multiple compiler engines, custom build arguments, and the ability to install extra system or font packages.
:octocat: GitHub Action to compile LaTeX documents
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a maximal TeXLive Docker image with all packages pre-installed, ensuring support for complex dependencies like Perl-based tools, as emphasized in the Philosophy and FAQ sections.
Defaults to latexmk for automated compilation but allows direct use of engines like pdflatex, lualatex, and xelatex via the compiler input, providing versatility for different LaTeX needs.
Enables passing custom arguments to the compiler, such as enabling --shell-escape for advanced use cases, demonstrated in the examples for lualatex and pdflatex.
Supports installing additional system packages via apt-get and extra fonts via ZIP archives through inputs, allowing for tailored build environments without modifying the base image.
The maximal TeXLive installation results in a large container that increases CI build times and resource usage, with the README itself pointing users to a more lightweight alternative for faster setups.
For documents requiring bibliography or multiple passes, users must manually configure separate action steps, as shown in the 'Real' document example, which can be cumbersome and error-prone.
The FAQ warns that caching LaTeX intermediate files can sometimes lead to incorrect builds if not managed carefully, necessitating full rebuilds for accuracy, adding complexity to optimization efforts.