Seite 1 von 2

Versionierung für LaTeX?

Verfasst: So 22. Nov 2015, 13:02
von scaer93
Hallo,

ich möchte gerne in Zukunft meine LaTeX-Dokumente (Thesis oder Protokolle) versionieren.

Falls möglich, dann sollte man auch zu zweit an einem Dokument gleichzeitig arbeiten können.

Nach langer Recherche im Netz: Ich dachte an Git mit GitHub.

Ist das eine gute Wahl?

Mein Problem ist, ich versteh ich nicht ganz, wie für LaTeX ein üblicher Workflow mit Git aussehen soll? Schreibe ich wie gewohnt in meinem Editor der Wahl? Wie bekomme ich dann die Versionierung hin?

Hoffe auf gute Ratschläge...

S.

Verfasst: So 22. Nov 2015, 13:08
von Johannes_B
Ja, ist eine gute Wahl.

Du schreibst ganz normal im Editor, und wenn du denkst, dass der Teil den du geschrieben hast ok ist, commit. Dann geht es wieder von vorne los.

Verfasst: So 22. Nov 2015, 13:33
von scaer93
Hi,

danke für die Antwort.

Ok. Also so arbeiten, wie gehabt und immer ans commit'ten denken. Der GitHub-Client ist also nur zum commit nötig. Muss dieser Client die ganze Zeit laufen?

Wie sieht es mit dem gleichzeitig arbeiten aus? Kann man diese branches sinnvoll mit LaTeX nutzen? Wie sieht es aus, wenn ich dann zusammenführen möchte? Klappt das gut?

Worauf muss ich beim Texten achten? Gibt es da Besonderheiten?

Verfasst: So 22. Nov 2015, 13:42
von Johannes_B
git ist egal, was in deinen Textdateien ist. Ich empfehle daher eine Einführung in git.

Verfasst: So 22. Nov 2015, 14:32
von iTob
Ein ziemlich gutes Tutorial für git gibt es hier: http://www.git-tower.com/learn/ die bieten auch einen Client (für Mac) an, der viel mehr kann als der von git.

Letztlich brauchst du aber keinen Client (aka GUI), geht auch alles über die Kommandozeile.

Ich habe bei der Verbindung TeX/Git mit Branches jetzt ab und an mal Probleme gehabt, weil ich in den gleichen Dateien Änderungen gemacht habe und dass gibt dann nen merge-conflict. Aber dieses Problem kann natürlich auch bei anderen Programmiersprachen/Dateien auftreten …

Un nö, der Client muss nicht die ganze Zeit laufen. Du musst nur Starten, um nen Commit zu machen, die Branch zu wechseln oder so. Und git ist Übrigens nicht gleichzusetzen mit Github! Die Versteinerung kannst du auch lokal auf deinem Rechner machen. Github ist nur eine Möglichkeit dein Repository auch auf nem Server zu sichern (im Falle von Github ist es öffentlich, sofern du keinen Bezahlaccount hast), ne Alternative wäre z.B. Bitbucket, da gehen auch kostenlos private Repos. Ich weiß aber nicht, ob es für Bitbucket nen Client gibt (der ja eh optional wäre; Tower kann auch Bitbucket und andere verwalten).

Verfasst: So 22. Nov 2015, 15:48
von Besserwisser
Man kann übrigens github auch mit einem subversion-Client verwenden. Klingt zunächst vielleicht nicht sehr sinnvoll, wird es aber, wenn man daran denkt, dass beispielsweise in Texstudio subversion-Unterstützung eingebaut ist.

Verfasst: So 22. Nov 2015, 17:54
von scaer93
Danke für die Antworten. Das hat schon gut weitergeholfen. Gibt es eigentlich auf eine Git Anleitung speziell für LaTeX?

Ich nutze den Editor "Texpad". Der unterstützt zwar das OSX eigene "Versionen", aber wohl keine SVN/Git.

Verfasst: So 22. Nov 2015, 17:55
von iTob
Ich wüsste spontan keine Anleitung (das heißt aber nix), allerdings frage ich mich wozu … git funktioniert ja mit allen Textdateien gleich ;-)

Verfasst: So 22. Nov 2015, 18:02
von scaer93
Irgendwie stehe ich da noch etwas auf Kriegsfuß mit. Dachte, etwas dazu lesen, hilft mir...

Wahrscheinlich heißt es "Learning by doing".

Stimmt es, dass ich beim texten nun immer jeden Satz in eine Code-Zeile schreiben muss? Was muss ich beim LaTeX-Quelltext schreiben nun beachten, wenn ich Git nutzen möchte?

Verfasst: So 22. Nov 2015, 18:35
von iTob
Mir ist git auch nach wie vor etwas rätselhaft, aber es geht wirklich am besten zu lernen beim Benutzen … also nur Mut.

Wie du deine Textdateien schreibst ist im Grunde für git egal. Damit git aber sinnvoll Einheiten finden kann, ist es ein Ansatz, jeden Satz in eine Zeile zu schreiben. Da ich git bisher nur für Pakete aber nicht für Dokumente benutze, kann ich da aber leider nicht viel mehr Tips geben. Am besten probierst du einfach ein bisschen rum, welche Strategie für dich gut passt ;-)