feat: Initial setup for LaTeX Docker Builder
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user