Zum Inhalt springen
Topos Uranos

Zusammenfassung

Diese Lektion zeigt, wie mehrere Autoren ein Dokument gemeinsam schreiben, ohne Arbeit zu verlieren oder Fassungen zu verwechseln. Sie erklärt, warum der Austausch von Fassungen per E-Mail scheitert und warum ein Quelltext aus reinem Text es erlaubt, Änderungen Zeile für Zeile zu vergleichen und zusammenzuführen; sie stellt Overleaf als gemeinsamen Online-Editor vor, mit der Einladung zu einem Projekt, dem gleichzeitigen Bearbeiten, den Kommentaren, der Änderungsverfolgung, dem Verlauf mit seinen benannten Fassungen, der Wahl von LuaLaTeX und dem Hochladen eines lokalen Projekts; sie lehrt den minimalen Arbeitsablauf mit Git in einem LaTeX-Projekt, mit seiner Datei .gitignore, dem Schreiben eines Satzes pro Zeile und dem Auflösen eines Konflikts in einer .tex-Datei, anhand echter Ausgaben eines Testrepositorys; sie beschreibt die Git-Integration von Overleaf und seine Synchronisierung mit GitHub; sie fasst die Konventionen zusammen, auf die sich ein Team einigen sollte; und sie schließt mit latexdiff, das ein PDF erzeugt, in dem die Änderungen zwischen zwei Fassungen markiert sind.

Lernziele

  1. Erklären, warum ein Quelltext aus reinem Text es erlaubt, die Arbeit mehrerer Autoren zu vergleichen und zusammenzuführen, und warum eine Datei aus einer Textverarbeitung das nicht in gleicher Weise erlaubt.
  2. Ein Overleaf-Projekt mit der passenden Berechtigung teilen, kommentieren, mit der Änderungsverfolgung überarbeiten und eine frühere Fassung aus dem Verlauf wiederherstellen.
  3. Ein LaTeX-Projekt mit Git führen: das Repository anlegen, Änderungen committen, den Verlauf und die Unterschiede lesen und es mit einem Remote synchronisieren.
  4. Eine .gitignore schreiben, die die Hilfsdateien ausschließt, ohne auszuschließen, was das Dokument braucht.
  5. Vorhersagen, wann zwei gleichzeitige Änderungen einen Konflikt erzeugen, und ihn in einer .tex-Datei auflösen, wobei anschließend geprüft wird, dass sich das Dokument übersetzen lässt und sagt, was es sagen soll.
  6. Sich im Team auf eine Präambel, eine Literaturdatenbank, eine Aufteilung in Dateien und eine Konvention für Labels einigen und mit latexdiff ein PDF erzeugen, das die Änderungen zwischen zwei Fassungen zeigt.

Warum es schwierig ist, zu mehreren zu schreiben

Die häufigste Art, im Team zu schreiben, ist zugleich die anfälligste: Ein Autor schickt die Datei per E-Mail, ein anderer korrigiert sie und schickt sie unter neuem Namen zurück, und nach einigen Wochen enthält der Ordner bericht-final.docx, bericht-final-v2.docx und bericht-final-ueberarbeitet-ana.docx. Haben zwei Autoren gleichzeitig an derselben Fassung gearbeitet, muss jemand die Änderungen des einen von Hand in die Datei des anderen übertragen, und was dabei vergessen wird, geht verloren, ohne dass es jemand bemerkt. Die Textverarbeitung hilft beim Vergleichen nicht, weil ihre Datei kein lesbarer Text ist, sondern ein komprimiertes Paket, das den Inhalt mit der Formatierung vermischt; sie hat zwar Werkzeuge zum Vergleichen, doch diese können zwei unabhängige Arbeitsstränge nicht automatisch zusammenführen.

Ein LaTeX-Quelltext ist etwas anderes: Er ist reiner Text, den jedes Programm Zeile für Zeile lesen kann. Daraus ergeben sich zwei Operationen, die mit einer Textverarbeitung nicht zur Hand sind. Die erste ist der Unterschied (englisch diff): Zu zwei Fassungen einer Datei gibt ein Programm genau an, welche Zeilen entfernt und welche hinzugefügt wurden. Die zweite ist das Zusammenführen (englisch merge): Zu zwei Mengen von Änderungen an derselben Fassung kombiniert ein Programm diese selbständig, wenn sie verschiedene Stellen der Datei betreffen, und bittet den Autor nur dann einzugreifen, wenn beide dieselbe Stelle berührt haben. Damit diese Operationen nützen, braucht es allerdings außerdem eine Organisation: einen gemeinsamen Ort, an dem die gültige Fassung liegt, und ein Verzeichnis darüber, wer was wann geändert hat. Diese Lektion stellt die beiden Wege dazu vor, die der Kurs verwendet: Overleaf, das das Problem im Browser löst, und Git, das es auf dem Rechner jedes Autors löst, mit Texmaker als Editor.