Overleaf - Nutzungshinweise

Einstieg in Overleaf

Für einen Einstieg in LaTeX und Overleaf bietet der Hersteller ausführliche Ressourcen an (auf Englisch):

  • Eine breit aufgestellte Dokumentation mit Informationen zu LaTeX und Overleaf.
  • Eine Seite mit weiterführenden Links zu verschiedenen Tutorials.

Für LaTeX-Neulinge gibt es auch die Option, Dokumente im Stile von „What you see is what you get“ zu erstellen, indem man den Rich-Text-Editor aktiviert (oben links in der Projektansicht). Dort werden beispielsweise Überschriften, Textformatierungen und mathematische Formeln direkt angezeigt und können über separate Schaltflächen eingefügt werden. Der Quellcode kann durch einen Klick, z.B. auf eine Formel, sichtbar gemacht und bearbeitet werden.

Kollaboration an Projekten
Teilen von Projekten

Angelegte Projekte können mit anderen Personen geteilt werden. Die Freigabeoptionen sind über den Reiter „Share“ oben rechts in der Projektansicht zu erreichen.

Folgende Möglichkeiten stehen zur Verfügung:

  • Unter dem Punkt „Share with your collaborators“ kann man andere Personen mit gültigem zentralen ITMZ Nutzungskonto zur Zusammenarbeit einladen, indem man die zugehörige Email-Adresse angibt. Dabei lässt sich zwischen lesenden und schreibenden Rechten wählen. Die jeweilige Person erhält daraufhin eine Benachrichtigungsmail.
  • Über den Link „Turn on link sharing“ kann man das Projekt öffentlich zugänglich machen. Dabei werden projektspezifische URLs zum Schreiben und Lesen erzeugt, die für einen externen Zugriff weitergeleitet werden können. Jede Person, die über die jeweilige URL verfügt, kann anonym am Projekt mitarbeiten.
Weitere Funktionalitäten
  • Es gibt einen integrierten Chat (zu erreichen über den Reiter „Chat“ in der Projektansicht), über den sich Personen innerhalb eines gemeinsamen Projektes austauschen können.
  • Des Weiteren steht eine Review-/Kommentarfunktion zur Verfügung (zu erreichen über den Reiten „Review“ in der Projektansicht). Kommentare werden erstellt, in dem man einen Textabschnitt markiert und die Schaltfläche „Add comment“ auswählt. Im Review-Abschnitt können diese Kommentare bearbeitet und beantwortet werden. Schaltet man die Funktion „Track changes“ an, werden von nun an alle Änderungen am Dokument explizit notiert und können daraufhin angenommen oder abgelehnt werden.
  • Außerdem ist eine Versionsverwaltung integriert (zu erreichen über den Reiter „History“ in der Projektansicht), über die alle Personen jegliche Veränderungen am Projekt nachvollziehen können. Hier können bestimmten Versionen des Projektes ein Label zugewiesen werden, unterschiedliche Versionen miteinander verglichen werden, oder ein älterer Stand heruntergeladen werden.
Git Integration

Die folgenden Ausführungen sind eine Zusammenstellung von Auszügen aus der offiziellen Overleaf Dokumentation. Für weiterführende Informationen können die folgenden Links verwendet werden:

Was ist die Overleaf Git Integration?

Die Git Integration von Overleaf ermöglicht es, eine Git-URL aus einem Projekt abzurufen und dieses wie ein Git Repository zu behandeln. Damit lässt sich jedes Projekt in ein lokales Git Repository klonen, um daran lokal zu arbeiten. Änderungen können dann vom lokalen Stand in das Projekt übertragen werden (push) und Aktualisierungen, die im Online-Editor von Overleaf vorgenommen wurden, können in das lokale Repository übernommen werden (pull).

Dies ermöglicht die lokale Arbeit an einem Projekt auf dem eigenen Rechner (selbst wenn temporär keine Internetverbindung verfügbar ist), die Verwendung eines anderen LaTeX-Editors, oder Ausgaben aus anderen lokalen Programmen leicht zu Ihrem Projekt hinzuzufügen.

Die Overleaf Git Integration steht nur Angehörigen der Universität Rostock mit einem gültigen zentralen Nutzungskonto zur Verfügung. Externe Mitwirkende, die über die Link-Weitergabe anonymisiert Zugriff auf einzelne Projekte haben, können die Git Integration nicht nutzen.

Authentifikation

Wie authentifiziere ich mich?

Wenn Sie eine Git-Operation wie Clone, Pull oder Push ausführen wollen, müssen Sie sich als Besitzer:in oder Mitarbeiter:in des Projektes authentifizieren. Dies erfolgt über sogenannte Git Authentifizierungs-Token. Derartige Token können in den Overleaf Accounteinstellungen verwaltet werden. Nach dem Erstellen eines Token müssen Sie dieses sicher an einem externen Ort aufbewahren, da es anschließend in Overleaf nicht wieder vollständig angezeigt werden kann.

  • Falls Sie beim Arbeiten mit Git zur Eingabe eines Benutzernamens aufgefordert werden, geben Sie den Namen „git“ ein.
  • Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie Ihr Token ein.

Hinweise zu Git Authentifizierungs-Token

Sie können eine Liste Ihrer Token in Ihren Accounteinstellungen finden. Beachten Sie jedoch, dass Sie nicht das gesamte Token anzeigen können. Sollten Sie Ihr Token vergessen haben und dieses nicht über Git abgespeichert haben (siehe unten Git Credential Helper), müssen Sie ein neues Token generieren.

Wird ein Token gelöscht, kann es nicht mehr zur Authentifizierung Ihrer Identität bei Git-Operationen verwendet werden. Wenn Sie eine Operation mit einem abgelaufenen oder gelöschten Token versuchen auszuführen, erhalten Sie wahrscheinlich einen Authentifizierungsfehler.

Sie sollten niemals ein Token teilen. Behandeln Sie es genauso sicher wie einen Benutzernamen und ein Passwort. Wenn Sie versehentlich ein Token geteilt haben, sollten Sie es löschen.

Dasselbe Token kann verwendet werden, um auf alle Ihre Projekte mit Git zuzugreifen. Generierte Token sind ein Jahr lang gültig und es können maximal 10 Token gleichzeitig laufen.

Anmeldeinformationen speichern - Git Credential Helper

Um nicht bei jedem Git Befehl den Nutzernamen und ein Token erneut einfügen zu müssen, kann man den Git Credential Helper einrichten.

Die Voraussetzung ist ein verschlüsselter Speicher, in dem die Anmeldeinformationen sicher abgespeichert werden können. Je nach Betriebssystem wird die Verschlüsselung von unterschiedlichen Hilfsprogrammen realisiert.

Bei Installation des offiziellen Git-Clients unter Windows oder macOS werden sichere Standardeinstellungen gesetzt, die den systemeigenen verschlüsselten Speicher nutzen. Hierzu ist generell keine manuelle Konfiguration nötig. Der Git Credential Manager kann aber auch manuell nachinstalliert werden. Für Linux ist eine zusätzliche Konfiguration nötig. Einsehen und ändern lässt sich das in Git hinterlegte Hilfsprogramm über `git config credential.helper`.

Verwendung der Git Integration

Wie klone ich ein Projekt?

Hier wird erklärt, wie ein Projekt mit der Kommandozeile geklont wird. Falls Sie eine externe Git Software verwenden, halten Sie sich an deren passende Methode und verwenden zur Authentifizierung die oben genannten Schritte.

  1. Wählen Sie den Punkt Git unter dem Projekt-Menü.
  2. Kopieren Sie den Befehl zum Klonen, der die Git-URL des Projektes enthält.
  3. Führen Sie den Befehl in einer Kommandozeile aus. Beachten Sie, dass der Benutzername „git“ bereits in den Befehl integriert ist.
  4. Geben Sie Ihr Git Token ein, sobald Sie nach einem Passwort gefragt werden.

Die Git-URL verstehen

Die Git-URL erhält man aus dem Projektmenü unter dem Punkt Git. Alternativ können Sie die Git-URL auch aus der Projekt-URL erhalten (die URL in der Adressleiste des Browsers, wenn Sie sich in einem Projekt befinden). Wenn Ihre Projekt-URL wie folgt aussieht:

overleaf.uni-rostock.de/project/123456789

Dann lautet die zugehörige Git-URL:

overleaf.uni-rostock.de/git/123456789

Der Befehl und die URL, die im Git-Projektmenü angegeben sind, bestehen aus: (1) dem „git clone“-Befehl, der in der Kommandozeile verwendet wird, und (2) der vollständigen Git-URL, einschließlich des Benutzernamens „git“, des spezifischen Overleaf-Hosts und eines Pfades, der die Projekt-ID enthält.

Wie erstelle ich ein Overleaf Projekt aus einem vorhandenem Git Repository?

Wenn Sie bereits ein Git Repository haben, können Sie ein Overleaf Projekt als Remote-Repository über die Kommandozeile hinzufügen.

  1. Wir gehen davon aus, dass Sie ein Repository auf Ihrem Computer haben (in einem Verzeichnis mit dem Namen my_local_repo). Es kann auch auf GitHub, GitLab, usw. gehostet sein, aber Sie müssen es auch lokal geklont haben.
  2. Erstellen Sie ein neues Projekt auf Overleaf. Da alle Inhalte im Projekt gleich überschrieben werden, verwenden Sie die Option „Leeres Projekt“ (Blank Project) und löschen Sie manuell die Datei „main.tex“ im Projekt-Verzeichnis.
  3. Holen Sie die Git-URL für das Projekt. Entweder über das Projektmenü oder indem Sie die Projekt-URL anpassen.
  4. Fügen Sie die Git-URL als Remote in Ihrem lokalen Repository hinzu:
    ```
    cd my_local_repo
    git remote add overleaf <GIT-URL>
    ```
  5. Holen Sie den neuesten Inhalt aus dem Overleaf Projekt (nach Schritt 2 sollte dieses nichts enthalten) und führen Sie ihn im Master-Branch zusammen (merge).

    ```
    git checkout master
    git pull overleaf master --allow-unrelated-histories --rebase=false
    ```

  6. Pushen Sie Ihr Projekt zu Overleaf.
    ```

    git push overleaf master --set-upstream
    ```

  7. Besuchen Sie das Projekt auf der Overleaf-Website. Ihre Änderungen sollten dort angezeigt werden.

Bekannte Einschränkungen

Branches: Git branching wird von Overleaf nicht unterstützt.

Symlinks: Symbolische Links auf Dateien (Symlink) werden nicht korrekt verarbeitet. Ein Symlink kann zwar in ein Overleaf-Projekt übertragen werden, wird jedoch in eine normale Datei umgewandelt und überschreibt den lokalen Symlink beim nächsten Pull des Projekts.

Git LFS: Git Large File Storage wird von Overleaf nicht unterstützt.

Git Untermodule: Overleaf Projekte können als Git Untermodule in anderen Repositorien fungieren, aber selbst keine Git Untermodule enthalten.

Umbenennen von Ordnern: Wenn ein Benutzer einen Ordner umbenennt und die Änderung in Overleaf pusht, behält das Projekt einen zusätzlichen leeren Ordner mit dem alten Namen bei. Beispiel: Das Umbenennen von "images/" in "img/" hinterlässt zwei Ordner im Projekt: "img/" mit den Bilddateien und "images/", der leer ist. Dies kann zu Problemen führen, wenn ein Benutzer in einem einzigen Commit einen Ordner umbenennt und eine neue Datei mit demselben Namen wie dem alten Ordner erstellt. Das Overleaf Git-System lehnt diese Commits ab. In diesem Fall empfehlen wir, den Commit in zwei Teile aufzuteilen und den verbleibenden Ordner zu löschen.

Umbenennen und Verschieben von Dateien: Eine Umbenennung oder das Verschieben einer Datei in Ihren lokalen Repository wird seitens Overleaf als Löschen und neu Erstellen umgesetzt. Dies kann zum Verlust von Metadaten führen, die mit einer Datei verbunden sind, wie Einträgen aus der Review- und Kommentarfunktion. Es wird daher nicht empfohlen, Dateien über Git umzubenennen oder zu verschieben, die Overleaf interne Veränderungen oder Kommentare enthalten.

Nachverfolgen von Änderungen und Kommentare: Pushen von Git zu Overleaf kann dazu führen dass Kommentare oder aufgezeichnete Änderungen in der Review-Sektion verloren gehen oder verschoben werden. Das Nutzen der Git Integration wird nicht empfohlen, falls diese Funktionalitäten aktiv verwendet werden.