← Back to all sparks
T

tinytex

DEVOPS
Velocity0.0

Lightweight, portable and easy to maintain LaTeX distribution managed from R

TinyTeX went where the containers are: Alpine, ARM64, and a naming scheme to match.

latexdistributioncontainersarm64pdf-areliability
Current state
TinyTeX packages a minimal TeX Live distribution plus the R glue that detects a missing LaTeX package from a compilation error and installs it. The detection side keeps widening — fontspec, haranoaji, babel language files, PDF/A support files — and 0.59 widened the distribution side, adding prebuilt binaries for ARM64 Linux and x86_64 musl so Alpine and Docker users stop building from source. Version 0.60 is entirely download reliability: retries, bundle format fixes, and hardened CTAN mirror detection.
Where it's heading
Two separate jobs share one release stream. One is an error-message parser that grows a new rule whenever LaTeX invents a new way to complain about a missing file, driven almost entirely by one outside contributor. The other is a binary distribution problem — build for more architectures, download more reliably, name the artifacts consistently — and that is where the recent effort has gone. The parser work is reactive by nature; the distribution work is the part with a direction.
Prediction
Expect more prebuilt targets rather than more parser rules next, and expect the old-style binary names to be dropped once the post-2026.03.02 detection has been in the wild long enough.

Recent moves

  1. 1mo ago

    Download retries, faster Windows installs, hardened CTAN detection

    A reliability pass over installation: 10 retries with a 30-second delay on every download, real gzip for the backward-compatible bundles, a fix for Invoke-WebRequest making Windows installs much slower, and hardened CTAN repo URL detection. All of it protects the install path that 0.59's new binaries run through.

    View source ↗
  2. 4mo ago

    Prebuilt binaries for ARM64 Linux and musl/Alpine

    ⚡ SPARK

    Prebuilt binaries for ARM64 Linux and musl-based distributions land alongside a new artifact naming scheme, PDF/A error detection, and MacTeX-style symlink support. This is the release that makes TinyTeX viable where it previously meant a slow source build.

    View source ↗
  3. 8mo ago

    Detect missing babel language definition files

    Adds one more rule to the missing-file parser, this time detecting absent babel language definition files from the error text. Small, but it is the mechanism that makes TinyTeX feel like it just works on a document written in an unfamiliar language.

    View source ↗
  4. 1y ago

    haranoaji font detection; texlive-local.deb in daily builds

    Font detection for the haranoaji package and texlive-local.deb added to the daily release. Two narrow additions with no wider effect.

    View source ↗
  5. 1y ago

    Fix output path regression from 0.55

    A single regression fix: 0.55 had inadvertently changed latexmk()'s default output path, breaking compilation of .tex files outside the working directory. Reported through rmarkdown.

    View source ↗
  6. 1y ago

    latexmk() supports --no-pdf and DVI output

    latexmk() gains support for the --no-pdf and --output-format=dvi engine arguments, opening the DVI path for users who need it, plus a corrected TeX Live source installer filename.

    View source ↗