#!/usr/bin/env bash set -e # LaTeX Docker Builder Entrypoint # Unterstützt Befehle: # build [datei.tex] (Standard: baut seminararbeit.tex oder main.tex) # clean (Führt latexmk -C aus) # watch [datei.tex] (Kontinuierlicher Rebuild mit latexmk -pvc) # Beliebiger Befehl (z.B. latexmk -pdf ...) resolve_target() { if [ -n "$1" ]; then echo "$1" elif [ -f "seminararbeit.tex" ]; then echo "seminararbeit.tex" elif [ -f "main.tex" ]; then echo "main.tex" else # Fallback auf alle tex-Dateien oder Standard-latexmk-Verhalten echo "" fi } COMMAND="${1:-build}" case "$COMMAND" in build) shift || true TARGET=$(resolve_target "$1") echo "==> Starte LaTeX Build..." if [ -n "$TARGET" ]; then echo "==> Kompiliere: $TARGET" exec latexmk -pdf "$TARGET" else echo "==> Keine Hauptdatei angegeben, führe latexmk -pdf aus..." exec latexmk -pdf fi ;; clean) shift || true echo "==> Bereinige Ausgabedateien (latexmk -C)..." exec latexmk -C "$@" ;; watch) shift || true TARGET=$(resolve_target "$1") echo "==> Starte kontinuierlichen Watch-Modus (latexmk -pvc)..." if [ -n "$TARGET" ]; then exec latexmk -pvc -pdf "$TARGET" else exec latexmk -pvc -pdf fi ;; *) exec "$@" ;; esac