Manuskript-Abgabe — Playbook

Ziel: aus dem Vault-Zustand ein OLAT-taugliches ZIP-Archiv bauen, das der HS-Vorgabe entspricht (Ordnername Kühr_Alexander mit Umlaut, Literatur mit BibKey-benannten PDFs, Manuskript als einzige PDF).

Bevor dieses Playbook läuft: abgabe-checkliste Punkt für Punkt durchgehen.

Ziel-Struktur (HS-Vorgabe)

Kühr_Alexander.zip
└── Kühr_Alexander/
    ├── Literatur/
    │   ├── Quellen/           # BibKey-benannt: Bre01.pdf, HTF09.pdf, JWH+23.pdf …
    │   └── Fußnoten/          # S_<Seite>_Nr_<Fußnote>_M<Marker>.pdf
    └── Manuskript/
        └── Ausarbeitung.pdf

Regeln:

  • Hauptordner mit Umlaut, nicht Kuehr_Alexander
  • Manuskript/ enthält genau eine Datei mit exaktem Namen Ausarbeitung.pdf
  • PDF nicht gegen Kopieren geschützt
  • Alle Quellen-PDFs enthalten M-Marker-Highlights (PDF-Kommentare mit Label M1, M2, …)

Quellen im Vault (Ist-Zustand)

  • LaTeX-Bau-Verzeichnis: 01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/
  • Master-Datei: vorlage-wa.tex
  • BibTeX: literatur.bib
  • Zentrale PDF-Ablage: 01_arbeiten/01_zulassungsarbeit/B_literatur/pdfs/<BibKey>.pdf
  • Fußnoten-Quellen (Websites u. ä.): 01_arbeiten/01_zulassungsarbeit/B_literatur/fussnoten/<Schema>.pdf (anzulegen sobald erste Fußnote existiert)

Ablauf

1. Manuskript bauen

cd /var/www/studium-vault/01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/
latexmk -pdf vorlage-wa.tex

Prüfen:

  • vorlage-wa.pdf frisch generiert
  • Kein Fehler im Log, keine ?? im Text (fehlende Referenz)
  • Bibliography vollständig gerendert
  • Seitenzahl 18–22 (Hauptteil, ohne Titelei/Literatur)

2. PDF für Abgabe entsichern und benennen

Ausdruck-Kopie und Abgabe-Kopie identisch. Für die ZIP-Kopie:

cp vorlage-wa.pdf /tmp/abgabe/Ausarbeitung.pdf

Sicherheits-Check (PDF darf nicht gegen Kopieren geschützt sein):

qpdf --show-encryption /tmp/abgabe/Ausarbeitung.pdf
# erwartet: "File is not encrypted"

Falls doch verschlüsselt: qpdf --decrypt --replace-input /tmp/abgabe/Ausarbeitung.pdf

3. Konsistenz-Prüfung Vier-Wege

Für jeden BibKey aus literatur.bib prüfen:

OrtErwartet
literatur.bib@book{HTF09, …} — Key genau HTF09
Text\cite[S.~305, M1]{HTF09} — Key referenziert
PDF01_arbeiten/01_zulassungsarbeit/B_literatur/pdfs/HTF09.pdf existiert
Vault-Karte01_arbeiten/01_zulassungsarbeit/B_literatur/quellen/HTF09.md vorhanden

Automatisier-Snippet (schnell, Bash):

cd /var/www/studium-vault
BIBKEYS=$(grep -oP '@\w+\{\K[^,]+' 01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/literatur.bib)
for k in $BIBKEYS; do
  test -f 01_arbeiten/01_zulassungsarbeit/B_literatur/pdfs/${k}.pdf || echo "FEHLT PDF: $k"
  test -f 01_arbeiten/01_zulassungsarbeit/B_literatur/quellen/${k}.md || echo "FEHLT KARTE: $k"
  grep -rq "\\\\cite.*${k}" 01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/chapters/ || echo "NICHT ZITIERT: $k"
done

Ergebnis: Alle drei müssen für jeden Key still bleiben. „NICHT ZITIERT” bedeutet: entweder aus literatur.bib entfernen (sonst zählt Verzeichnis-Qualität dagegen) oder Zitation im Text ergänzen.

4. M-Marker-Vollzähligkeit prüfen

Für jede \cite[S.~X, M<n>, …]{BibKey}-Stelle im Text muss der Marker in der zugehörigen <BibKey>.pdf als PDF-Kommentar mit exaktem Label existieren.

Semi-automatisch: alle Zitationen mit Markern extrahieren:

grep -rohP '\\cite\[[^]]*M\d+[^]]*\]\{[^}]+\}' 01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/chapters/ | sort -u

Dann PDF öffnen und Kommentar-Liste abgleichen. Fehlende Marker sofort setzen (Highlight + Kommentar-Label).

5. Fußnoten-PDFs vorbereiten

Für jede \footnote{... \url{...}} mit Websource:

  • Website als PDF drucken → 01_arbeiten/01_zulassungsarbeit/B_literatur/fussnoten/S_<Seite>_Nr_<Fußnote>_M<Marker>.pdf
  • Textstelle im PDF markieren + M-Marker als Kommentar setzen
  • <Seite> = gedruckte Seitenzahl im Manuskript, <Fußnote> = fortlaufende Fußnoten-Nummer, <Marker> = M-Marker in dieser PDF

Extraktion der Fußnoten-Referenzen aus dem gebauten PDF:

pdftotext -layout vorlage-wa.pdf - | grep -n "^[0-9]\+ " | head
# oder Fußnoten-Liste im Log

Manuell sauber durchgehen — Kandidaten für Fehler.

6. Staging-Ordner bauen

STAGE=/tmp/abgabe/Kühr_Alexander
rm -rf /tmp/abgabe && mkdir -p "$STAGE"/Literatur/{Quellen,Fußnoten} "$STAGE"/Manuskript
 
# Manuskript
cp /var/www/studium-vault/01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/vorlage-wa.pdf "$STAGE/Manuskript/Ausarbeitung.pdf"
 
# Quellen — nur die, die im Literaturverzeichnis auftauchen
cd /var/www/studium-vault
for k in $(grep -oP '@\w+\{\K[^,]+' 01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/literatur.bib); do
  cp "01_arbeiten/01_zulassungsarbeit/B_literatur/pdfs/${k}.pdf" "$STAGE/Literatur/Quellen/"
done
 
# Fußnoten
cp 01_arbeiten/01_zulassungsarbeit/B_literatur/fussnoten/*.pdf "$STAGE/Literatur/Fußnoten/" 2>/dev/null || true

Wichtig: Ger17-Kapitel-Splits (Ger17_Kap1.pdf, …) müssen vor Abgabe zusammengeführt werden zu einer Ger17.pdf, damit der BibKey mit dem Dateinamen übereinstimmt:

qpdf --empty --pages 01_arbeiten/01_zulassungsarbeit/B_literatur/pdfs/Ger17_Kap*.pdf -- "$STAGE/Literatur/Quellen/Ger17.pdf"

Alternativ: PDFs so lassen und im Literaturverzeichnis nur ein einziges Ger17-Werk führen — dann muss die Zusammenführung passieren, sonst passt Dateiname ≠ BibKey.

7. Kontroll-Diff Staging ↔ literatur.bib

STAGE=/tmp/abgabe/Kühr_Alexander
diff \
  <(ls "$STAGE/Literatur/Quellen/" | sed 's/\.pdf$//' | sort) \
  <(grep -oP '@\w+\{\K[^,]+' /var/www/studium-vault/01_arbeiten/01_zulassungsarbeit/E_manuskript/latex/literatur.bib | sort)

Erwartet: leere Ausgabe. Jede Zeile ist ein Fehler.

8. ZIP bauen

cd /tmp/abgabe
zip -r Kühr_Alexander.zip Kühr_Alexander/

zip -r schließt versteckte macOS-Metadaten normalerweise nicht ein, auf Linux ist es sauber. Trotzdem prüfen:

unzip -l Kühr_Alexander.zip | head -50

Prüfliste:

  • Erste Zeile: Kühr_Alexander/
  • Keine __MACOSX/, keine .DS_Store, keine .git
  • Manuskript/Ausarbeitung.pdf vorhanden
  • Literatur/Quellen/*.pdf — Anzahl = BibTeX-Einträge
  • Dateinamen tragen den Umlaut korrekt (Fußnoten, nicht Fu%C3%9Fnoten)

9. Upload OLAT

  • OLAT-Begleitkurs → linkes Menü → „Abgabe Zulassungsarbeit”
  • ZIP hochladen
  • Upload-Bestätigung als Screenshot sichern und im Vault ablegen unter 01_arbeiten/01_zulassungsarbeit/F_abgabe/abgabe-bestaetigung.png

10. Print-Version

Parallel zur ZIP:

lp -o sides=one-sided vorlage-wa.pdf

Dann:

  • Ausdruck einseitig in Klarsichthefter (keine Bindung, keine Einzelfolien)
  • Eigenständigkeitserklärung ausdrucken, handschriftlich unterschreiben, beilegen
  • Adressieren an Romy Thomm (Adressen in abgabe-checkliste)

Notfall-Rollback

Wenn nach Upload Fehler auffallen: OLAT erlaubt normalerweise Nach-Upload bis zur Frist. Neue ZIP mit gleichem Namen hochladen ersetzt die alte. Vor Frist noch machbar. Nach Frist = zu spät, Abgabe steht.

Zusammenhänge