feat: Add smart document auto-detection and generic project path support for fellow students

This commit is contained in:
2026-10-24 10:08:30 +02:00
parent 84324a6993
commit 7fe808fc2e
4 changed files with 105 additions and 21 deletions
+36
View File
@@ -16,6 +16,7 @@ Docker-Image und Build-Umgebung zum plattformunabhängigen, reproduzierbaren Kom
- [3. Docker Compose](#3-docker-compose)
- [4. Reines Docker CLI](#4-reines-docker-cli)
- [5. Makefile](#5-makefile)
- [Nutzung durch Mitstudierende (Beliebige Ordnerstrukturen)](#nutzung-durch-mitstudierende-beliebige-ordnerstrukturen)
- [Image selbst bauen](#image-selbst-bauen)
- [Git Remote & Image Registry](#git-remote--image-registry)
- [Code ins Git-Repo pushen](#code-ins-git-repo-pushen)
@@ -114,6 +115,41 @@ make shell # Interaktive Bash-Shell im Container öffnen
---
## Nutzung durch Mitstudierende (Beliebige Ordnerstrukturen)
**Ja!** Das Docker-Image ist so konzipiert, dass es für **jede beliebige Ordnerstruktur und Dateinamen** funktioniert:
### Automatische Erkennung
Das Image erkennt automatisch das Hauptdokument im übergebenen Ordner:
1. Typische Dateinamen: `seminararbeit.tex`, `thesis.tex`, `main.tex`, `bachelorarbeit.tex`, `masterarbeit.tex`, `arbeit.tex`, `document.tex`.
2. Findet es keinen dieser Namen, sucht es automatisch nach der Datei, die `\documentclass` enthält.
3. Hat das Projekt eine `.latexmkrc` (z. B. für Ausgabe nach `out/`), wird diese automatisch beachtet. Falls keine vorhanden ist, kompiliert es im Hauptverzeichnis.
### 1-Zeiler für Mitstudierende (ohne dieses Repo clonen zu müssen)
Mitstudierende müssen nur in ihren eigenen Projektordner wechseln und folgenden Befehl ausführen:
**Windows PowerShell:**
```powershell
docker run --rm -v "${PWD}:/workspace" latex-docker:latest
```
**Linux / macOS / WSL:**
```bash
docker run --rm -v "$(pwd):/workspace" latex-docker:latest
```
Falls die Datei einen unüblichen Namen hat (z. B. `mein_projekt.tex`):
```bash
docker run --rm -v "${PWD}:/workspace" latex-docker:latest build mein_projekt.tex
```
### Mit dem Skript für andere Pfade
```powershell
.\build-seminar.ps1 -ProjectPath "C:\Pfad\Zu\Beliebigem\Projekt"
```
---
## Image selbst bauen
Das Image lokal bauen und mit Tags versehen: