feat: Initial setup for LaTeX Docker Builder

This commit is contained in:
2026-10-24 10:01:56 +02:00
commit 5b240159f5
9 changed files with 503 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
#!/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