Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. GitHub Actions
  3. GitHub Actions to compile LaTeX documents

GitHub Actions to compile LaTeX documents

MITShell4.1.0

A GitHub Action that compiles LaTeX documents to PDF using a complete TeXLive environment.

Visit WebsiteGitHubGitHub
1.4k stars150 forks0 contributors

What is GitHub Actions to compile LaTeX documents?

latex-action is a GitHub Action that compiles LaTeX documents into PDFs within GitHub workflows. It solves the problem of setting up and maintaining LaTeX environments in CI/CD by providing a pre-configured, containerized TeXLive installation that ensures consistent and reproducible builds.

Target Audience

Developers, researchers, and technical writers who need to automate LaTeX document compilation in their GitHub repositories, particularly those managing academic papers, reports, or documentation with LaTeX.

Value Proposition

Developers choose latex-action for its ease of integration, flexibility in TeXLive versions and LaTeX engines, and robust containerized environment that eliminates platform-specific LaTeX installation issues.

Overview

:octocat: GitHub Action to compile LaTeX documents

Use Cases

Best For

  • Automating PDF generation for LaTeX-based academic papers in CI/CD
  • Building technical documentation with consistent LaTeX environments
  • Compiling multiple LaTeX documents in a single GitHub workflow
  • Using custom fonts or system packages in LaTeX builds
  • Ensuring reproducible LaTeX builds across different systems
  • Integrating LaTeX compilation into automated release pipelines

Not Ideal For

  • Projects using non-GitHub CI/CD systems like GitLab CI or Jenkins
  • Local LaTeX development where manual compilation or desktop tools suffice
  • Teams needing real-time, interactive LaTeX editing with live previews
  • Documents requiring highly customized LaTeX environments beyond standard TeXLive packages

Pros & Cons

Pros

Containerized Reproducibility

Runs in a Docker container with a full TeXLive installation, ensuring consistent builds across systems and eliminating manual LaTeX setup, as emphasized in the README's containerized approach.

Multi-Engine Flexibility

Supports pdfLaTeX, XeLaTeX, and LuaLaTeX via configurable inputs like `latexmk_use_xelatex`, allowing users to choose the best engine for their document needs.

Custom Dependency Management

Allows installation of extra system packages and custom fonts through inputs such as `extra_system_packages` and `extra_fonts`, adapting to diverse project requirements without modifying the base image.

Version and OS Control

Offers flexibility with TeXLive versions from 2020 to 2026 and a choice between Alpine or Debian-based Docker images, as detailed in the `texlive_version` and `os` inputs.

Cons

GitHub Platform Lock-in

The action is designed exclusively for GitHub Actions, making it unsuitable for other CI/CD platforms without significant adaptation or workarounds.

Latexmk Dependency for Advanced Features

Key features like shell-escape and engine selection only work with the default `latexmk` compiler, limiting flexibility if users prefer or require alternative compilers, as noted in the README's IMPORTANT section.

Complex Path Configuration

Configuring custom LaTeX input paths via `TEXINPUTS` is non-intuitive and requires careful handling due to container workspace differences, as warned in the FAQ, which can lead to setup errors.

Frequently Asked Questions

Quick Stats

Stars1,385
Forks150
Contributors0
Open Issues1
Last commit16 hours ago
CreatedSince 2019

Tags

#texlive#latex#ci-cd#docker#pdf-generation#document-compilation#automation#github-actions

Built With

D
Debian
D
Docker
A
Alpine Linux

Links & Resources

Website

Included in

GitHub Actions27.6kLaTeX1.6k
Auto-fetched 6 hours ago

Related Projects

action-tmateaction-tmate

Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.

Stars3,549
Forks327
Last commit13 days ago
Paths FilterPaths Filter

Conditionally run actions based on files modified by PR, feature branch or pushed commits

Stars3,202
Forks374
Last commit1 month ago
Setup ssh-agentSetup ssh-agent

GitHub Action to setup `ssh-agent` with a private key

Stars1,467
Forks296
Last commit3 months ago
Run your job on another architecture: arm32, aarch64 and othersRun your job on another architecture: arm32, aarch64 and others

A Github Action that executes jobs/commands on non-x86 cpu architectures (ARMv6, ARMv7, aarch64, s390x, ppc64le, riscv64) via QEMU

Stars747
Forks164
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub