Docker tooling for building and maintaining the Beamer presentations in the sibling repositories. The presentation sources are mounted into the container; only the compiled PDF is written back to this repository.
  • Dockerfile 65.2%
  • Shell 34.8%
Find a file
2026-06-21 18:50:27 +02:00
out Add Docker tooling for Beamer presentation builds 2026-06-18 22:30:18 +02:00
.env.example Add Docker tooling for Beamer presentation builds 2026-06-18 22:30:18 +02:00
.gitignore Add Docker tooling for Beamer presentation builds 2026-06-18 22:30:18 +02:00
compile.sh Add Docker tooling for Beamer presentation builds 2026-06-18 22:30:18 +02:00
compose.yaml Add preview service and run script 2026-06-21 18:50:27 +02:00
Dockerfile Add preview service and run script 2026-06-21 18:50:27 +02:00
README.md Add preview service and run script 2026-06-21 18:50:27 +02:00
reformat.sh Add Docker tooling for Beamer presentation builds 2026-06-18 22:30:18 +02:00
run.sh Add preview service and run script 2026-06-21 18:50:27 +02:00

beamertools

Docker tooling for building and maintaining the Beamer presentations in the sibling repositories.

The presentation sources are mounted into the container; only the compiled PDF is written back to this repository.

Prerequisites

  • Docker with Compose
  • The presentation repository checked out next to this one:
präsentationen/
├── beamertools/                          ← this repo
└── Grundprojekt-Hauptprojekt-Praesentation/
    └── main.tex

Setup

  1. Copy the environment file and set your host user ID and group ID:

    cp .env.example .env
    

    Edit .env if your values differ from the defaults:

    id -u   # → HOST_UID
    id -g   # → HOST_GID
    

    Compose reads .env automatically so file ownership on mounted volumes matches your user.

  2. Build the image (once, or after changing the Dockerfile or scripts):

    docker compose build
    

Usage

All commands are run from beamertools/.

Compile PDF

docker compose run --rm beamer

Output: out/main.pdf

The compile step copies sources to a temporary directory inside the container, runs latexmk, and copies only the PDF to ./out. LaTeX build artefacts (.aux, .log, …) stay in the container.

Preview continuous (rebuild on save)

docker compose run --rm preview

Runs latexmk -pvc and rebuilds whenever you save a source file. Output goes to out/main.pdf. Press Ctrl+C to stop.

Build artefacts (.aux, .log, …) are written to ./out during preview; they stay out of the presentation repository.

Reformat source

docker compose run --rm reformat

Runs latexindent on main.tex in the presentation repository and writes the result back in place.

Services

Service Command Purpose
beamer docker compose run --rm beamer Build main.pdf via latexmk
preview docker compose run --rm preview Rebuild on save via latexmk -pvc
reformat docker compose run --rm reformat Format main.tex via latexindent

beamer and preview mount ./out for the PDF. All services mount ../Grundprojekt-Hauptprojekt-Praesentation at /work.

Image contents

Based on texlive/texlive:latest with Inkscape added for SVG logos (\includesvg requires -shell-escape).

Included LaTeX packages used by the presentation: beamer (Warsaw / seahorse themes), babel-ngerman, csquotes, hyperref, graphicx, pgf, svg.