Ein Workflow für ein Sachbuch

Im Fol­gen­den möchte ich einen Work­flow für ein Sach­buch beschreiben. Es war mein erstes Sach­buch, und es gibt natür­lich auch andere Wege, so ein Pro­jekt zu bewälti­gen. Ein Sach­buch zu veröf­fentlichen, braucht ein gutes Pro­jek­t­man­age­ment. Manch­es war vorher schon struk­turi­ert, manch­es hat sich erst aus Fehlern und iter­a­tiv­en Verbesserun­gen während des Schreibens ergeben.

Das ganze Pro­jekt beruhte auf ehre­namtlich­er Arbeit von vie­len Beteiligten. An dem Sach­buch waren eine deutsche Her­aus­ge­berin, vier Über­set­zerin­nen vom Rus­sis­chen ins Deutsche, bis zu drei Lek­toren, ein Buchde­sign­er und kurz vor Druck nochmals vier Kor­rek­turleser beteiligt. Fotos von pro­fes­sionellen Fotografen und viele Bilder aus Fam­i­lien­ar­chiv­en mussten gesichtet und für das Buch aus­gewählt und bear­beit­et wer­den. Grund­lage war eine belarus­sis­che Fas­sung, die für die deutschen LeserIn­nen nicht nur über­set­zt, son­dern auch edi­tiert und teil­weise neu zusam­mengestellt wer­den musste. Am Ende wurde ein Buch im For­mat A5 mit rund 520 Seit­en, 260 Abbil­dun­gen, davon 140 far­big, in den Druck gegeben. Ich hat­te die Ehre – und gele­gentlich die leichte Über­forderung 😉 – Pro­jek­t­man­ag­er, Kor­rek­tor, Lek­tor, Bild­bear­beit­er und Set­zer zu sein. (Vgl. auch Voß) Sich selb­st Pro­jekt-Regeln geben

Mit dem Schreiben ver­ständlichen Codes, dem Nach­denken über Namensge­bung und dem Kom­men­tieren ver­hält es sich ein biss­chen wie mit Safer Sex: Jed­er erken­nt den Nutzen und ist dafür, und doch wird es sel­ten prak­tiziert – ins­beson­dere wenn es wirk­lich darauf ankommt. Kathrin Pas­sig

Kathrin Pas­sig, Johannes Jan­der: Weniger schlecht pro­gram­mieren, O’Reilly, Hei­del­berg, 2013.

Das Projekt sichern

Bevor ein Pro­jekt startet, sollte bere­its fest­gelegt sein, wo und wie das Pro­jekt abgelegt und die entste­hen­den Dateien gesichert wer­den.

Die meis­ten Fehler treten auf, wenn man noch schnell etwas ändern will, obwohl man bere­its sechs oder mehr Stun­den vor dem Rech­n­er gesessen hat. Oder man bekommt von Pro­jek­t­beteiligten ver­schiedene Zuar­beit­en, die man falsch zuord­net, oder schlim­mer noch, bere­its vorhan­de­nen Code oder gle­ich ganze Dateien unwieder­bringlich über­schreibt.

Versionskontrolle mit Git

Ich benutze als Ver­sion­skon­troll­sys­tem Git sandig und eigene Back­up-Regeln heise13,heise16.

Ver­sion­skon­trolle-Sys­teme sind keine Hex­erei.

Uwe Ziegen­hagen: »Doku­menten­man­age­ment mit LATEX und Sub­ver­sion«, Die TEXnis­che Komödie, 03 (2008), 43–47.

Da pri­vate Accounts auf github kostenpflichtig sind und es auch nur eine Per­son gab, die alle Dateien bear­beit­ete und ver­wal­tete, habe ich mich für Git auss­chließlich lokal auf mein­er Fest­plat­te entsch­ieden. In Pro­jek­ten mit mehreren Autoren, die alle am Quell­text arbeit­en, kann ein pri­vater Git-Account sicher­lich nüt­zlich sein. Es gibt ver­schiedene grafis­che Tools für Git. (Eine Über­sicht find­et sich hier: https://git-scm.com/downloads/guis).

Die beste Ver­sion­skon­trolle nützt jedoch nichts, wenn diese nicht täglich benutzt wird. Deshalb sollte man vor jedem Arbeits­be­ginn Git aufrufen. So stellt man sich­er, dass man das am Abend vorher nicht vergessen hat­te. Nach den Mühen eines lan­gen Tages schle­icht sich schon mal eine Nach­läs­sigkeit ein: “Ach, das mache ich gle­ich mor­gen früh.” Das gilt es zu ver­mei­den.

Bei Arbeit­sende wiederum Git starten lassen. Das geht ein­er­seits per Kom­man­dozeile, ander­er­seits per grafis­chem Fron­tend. In Tow­er sieht man beim Öff­nen des Repos­i­to­ry gle­ich, was alles geän­dert wurde und noch in einen Com­mit gesichert wer­den muss (Siehe auch Joachim Schloss­er: Git fürs Ver­sion­ieren von LATEX-Doku­menten). Mein Lieblingsed­i­tor Text­Mate 2 zeigt mir im Datei-Brows­er mit entsprechen­den Icons an, wenn eine LaTeX-Datei noch nicht in die Ver­sion­ierung aufgenom­men wurde.

Da Git alle Dateien in die Ver­sion­ierung aufnehmen kann, kön­nen auch Fotos und Grafiken in die Ver­sion­ierung aufgenom­men wer­den. Daher hat es sich als sehr hil­fre­ich erwiesen, vor größeren Arbeitspaketen – wie zum Beispiel der stapel­weisen Bear­beitung von Fotos – eben­falls Git aufzu­rufen und den aktuellen Arbeits­stand zu sich­ern. Mir ist ein­mal beim Export von Fotos ein schlim­mer Fehler passiert und viele bere­its bear­beit­etet Bilder wur­den über­schrieben. Die vorherige Ver­sion kon­nte fix über Git wieder hergestellt und der Export der Fotos, nun mit den richti­gen Dateina­men, wieder­holt wer­den. Vor jed­er großen Änderung, und dazu gehört auch die Bear­beitung von mehreren Fotos oder Grafiken, sollte man ein­mal sich­er­stellen, dass die Ver­sion­ierung tat­säch­lich erfol­gt ist, in dem man Git auf der Kom­man­dozeile oder per grafis­chem Fron­tend vorher noch ein­mal aufruft – sich­er ist sich­er.

Backups

Back­ups erfol­gen bei Spe­icherung ein­er Datei auf der lokalen Fest­plat­te automa­tisch zugle­ich in der Cloud (auf einem eige­nen Serv­er mit ein­er ähn­lichen Funk­tion­al­ität wie drop­box), täglich zusam­men mit dem Git-Repos­i­to­ry auf eine externe Fest­plat­te und zusät­zlich auf dem Web­space meines Inter­net-Ser­vice-Providers. Dazu benutze ich ein Tool, das zeit­ges­teuert das Pro­jek­tverze­ich­nis mit den exter­nen Laufw­erken syn­chro­nisiert. Ins­ge­samt liegt das ganze Pro­jekt auf vier ver­schiede­nen physikalis­chen Datei-Sys­te­men. Automa­tisierte nächtliche Back­ups der gesamten lokalen Fest­plat­te sind darüber­hin­aus selb­stver­ständlich (Vgl. auch Kapi­tel 12 und 21 in Pas­sig).

Datei-Konventionen

Das ganze Pro­jekt hat etwa 10 Monate gedauert. Es hat sich dabei ange­boten, das Pro­jekt nach den Kapiteln zu struk­turi­eren. Im Laufe des Prozess­es kann es zu ein­er Umstel­lung, Zusam­men­fas­sung oder Tren­nung von Kapi­tel kom­men. Auch dann müssen die fol­gen­den eige­nen Regeln kon­se­quent umge­set­zt wer­den. Ein Edi­tor, der pro­jek­tüber­greifend­es Suchen und Erset­zen beherrscht (vielle­icht sog­ar mit reg­ulären Aus­drück­en, ist dabei von großem Vorteil. Jedes Kapi­tel wird in ein­er eige­nen Datei in einem eige­nen Verze­ich­nis gespe­ichert. Die dazuge­höri­gen Bilder und Grafiken wer­den hier in einem Unter­verze­ich­nis nn_fotos abgelegt. Hier befind­en sich zwei weit­ere Unter­verze­ich­nisse: nn_originale für die Bilder/Grafiken in beliebi­gen Datei-For­mat­en und nn_bearbeitet für bear­beit­ete Bilder/Grafiken, diese nur im For­mat JPG oder PDF. Nur aus diesem Verze­ich­nis wird das Bild­ma­te­r­i­al in das zuge­hörige LaTeX-Doku­ment einge­bun­den.

Die Verze­ich­nis- und Dateina­men begin­nen mit führen­der zweis­tel­liger Num­mer entsprechend der Kapitel­num­mer, Kapitel­num­mern klein­er 10 mit führen­der Null. Die Num­mern 00 und 70–90 sind reserviert für Vor- und Nachspann, Buchum­schlag und druck­fer­tiges PDF.

Alle Verze­ich­nis- und Dateina­men wer­den auss­chließlich klein und ohne Umlaute geschrieben. Zur besseren Les­barkeit wird der Unter­strich als Tren­ner in Verze­ich­nis- und Dateina­men genutzt. Ziel ist es \enquote{sprechende} Dateina­men zu haben, um eine gute Über­sicht zu behal­ten.

Inner­halb des \LaTeX-Doku­ments hat es sich als sin­nvoll erwiesen, den einzel­nen Gliederungsebe­nen ein­deutige Prä­fixe bei den Labeln zu vergeben wie beispiel­sweise

  \label{cha:kapitelname} % Kapitel

  \label{sec:abschnitt} %	Abschnitt

  \label{sub:unterabschnitt} % Unterabschnitt	

Das Ende ein­er Gliederungsebene wird eben­so ein­deutig gekennze­ich­net:

  % chapter kapitelname (end)

  % section sectionname (end)

  % subsection:subsectionname (end)

Das erhöht die Über­sichtlichkeit in lan­gen Dateien, und Edi­toren, die Code­fal­tung beherrschen, kön­nen darauf zurück­greifen.

Label für Bilder/Grafiken wer­den eben­falls mit einem Prä­fix für Farbe bzw. schwarz/weiß verse­hen (\label{colorfig:} oder \label{swfig:}). Das erle­ichtert das Zählen der far­bigen Abbil­dung für die Berech­nung der max­i­mal zu erwartenden Druck­kosten unge­mein – soweit der ver­wen­dete Edi­tor pro­jek­tüber­greifend­es Suchen in allen LaTeX-Dateien ermöglicht.rmf

Der Verzeichnisbaum

Die Pro­jek­t­struk­tur ließe sich auch in ein­er anderen Verze­ich­nis­struk­tur abbilden. Bewährt hat sich jedoch, kon­se­quent bei der Num­merierung der Kapitelverze­ich­nisse und entsprechend der Unter­verze­ich­nisse für das Bild­ma­te­r­i­al zu bleiben. Ergeben sich während der Arbeit am Sach­buch neue Rei­hen­fol­gen der Kapi­tel und/oder der Zuord­nung des Bild­ma­te­ri­als, müssen die Dateien, Verze­ich­nisse und Ref­eren­zierung kon­se­quent entsprechend der neuen Zuord­nung umbe­nan­nt wer­den. Auch nur eine kurzzeit­ige Diszi­plin­losigkeit kann schnell ins Chaos führen.

  • pro­jek­tverze­ich­nis (Hauptverze­ich­nis des Pro­jek­ts)
    • jahr_auflage_mein_sachbuch.tex (Mas­ter­datei)
    • titelei.tex (Titelei)
    • typospec.tex (Typografis­che Beson­der­heit­en)
    • trennungen.tex (beson­dere Tren­nregeln)
    • acronyme.tex (Verze­ich­nis der Akro­nyme)
    • 00_Vorspann (Verze­ich­nis)
      • 00_vorwort.tex (Vor­wort)
      • 00_danksagung.tex (Danksa­gung)
    • 01_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel 01)
      • 01_kapitel_langform.tex (Datei für Kapi­tel 01)
      • 01_fotos (Bild­ma­te­r­i­al zum Kapi­tel 01)
        • 01_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 01_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 02_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel 02)
      • 02_kapitel_langform.tex (Datei für Kapi­tel 02)
      • 02_fotos (Bild­ma­te­r­i­al zum Kapi­tel 02)
        • 02_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 02_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • nn_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel nn)
      • nn_kapitel_langform.tex (Datei für Kapi­tel nn)
      • nn_fotos (Bild­ma­te­r­i­al zum Kapi­tel nn)
        • nn_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • nn_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 70_nachspann (Verze­ich­nis für Nachspann: Karten, Danksa­gung)
      • 70_fotos (Bild­ma­te­r­i­al zum Nachspann)
        • 70_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 70_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 80_umschlag (Verze­ich­nis für Buch-Umschlag)
      • 80_fotos (Bild­ma­te­r­i­al zum Buch-Umschlag)
        • 80_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 80_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 90_druck_upload (Verze­ich­nis für druck­fer­tige PDF)
      • jahr_auflage_mein_sachbuch_JJ_MM_DD.pdf (mit Jahr, Monat, Tag der Druck­freiga­be)
      • jahr_auflage_mein_sachbuch_umschlag_JJ_MM_DD.pdf (mit Jahr, Monat, Tag der Druckfreigabe)Uwe Ziegen­hagen­pro­jek­tverze­ich­nis (Hauptverze­ich­nis des Pro­jek­ts)
    • jahr_auflage_mein_sachbuch.tex (Mas­ter­datei)
    • titelei.tex (Titelei)
    • typospec.tex (Typografis­che Beson­der­heit­en)
    • trennungen.tex (beson­dere Tren­nregeln)
    • acronyme.tex (Verze­ich­nis der Akro­nyme)
    • 00_Vorspann (Verze­ich­nis)
      • 00_vorwort.tex (Vor­wort)
      • 00_danksagung.tex (Danksa­gung)
    • 01_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel 01)
      • 01_kapitel_langform.tex (Datei für Kapi­tel 01)
      • 01_fotos (Bild­ma­te­r­i­al zum Kapi­tel 01)
        • 01_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 01_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 02_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel 02)
      • 02_kapitel_langform.tex (Datei für Kapi­tel 02)
      • 02_fotos (Bild­ma­te­r­i­al zum Kapi­tel 02)
        • 02_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 02_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • nn_kapitel_name_kurzform (Verze­ich­nis für Kapi­tel nn)
      • nn_kapitel_langform.tex (Datei für Kapi­tel nn)
      • nn_fotos (Bild­ma­te­r­i­al zum Kapi­tel nn)
        • nn_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • nn_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 70_nachspann (Verze­ich­nis für Nachspann: Karten, Danksa­gung)
      • 70_fotos (Bild­ma­te­r­i­al zum Nachspann)
        • 70_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 70_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 80_umschlag (Verze­ich­nis für Buch-Umschlag)
      • 80_fotos (Bild­ma­te­r­i­al zum Buch-Umschlag)
        • 80_originale (Bild­ma­te­r­i­al – Orig­i­nal, beliebige For­mate)
        • 80_bearbeitet (Bild­ma­te­r­i­al – bear­beit­et, JPG oder PDF)
    • 90_druck_upload (Verze­ich­nis für druck­fer­tige PDF)
      • jahr_auflage_mein_sachbuch_JJ_MM_DD.pdf (mit Jahr, Monat, Tag der Druck­freiga­be)
      • jahr_auflage_mein_sachbuch_umschlag_JJ_MM_DD.pdf (mit Jahr, Monat, Tag der Druck­freiga­be)

Die Master-Datei

Der Dateiname der Mas­ter­datei begin­nt mit dem Jahr, gefol­gt von der Zahl für die Auflage und dem Kurz­na­men des Sach­buchs (JJJJ_01_mein_sachbuch). Eine weit­ere, ggf. kor­rigierte oder erweit­erte Auflage sollte gle­ich einge­plant wer­den.

Die Titelei (titelei.tex), die typografis­chen Grun­de­in­stel­lun­gen wie Schriften, Anführungsze­ichen für die deutsche sowie für die benutzten Fremd­sprachen, die Gestal­tung der Bil­dun­ter­schriften oder eigene Schrif­tausze­ich­nun­gen (typospec.tex), Akro­nyme (acronym.tex) und Wort­tren­nun­gen (trennungen.tex) wer­den in eigene Dateien aus­ge­lagert und per \input-Befehl der Präam­bel hinzuge­fügt.

In die Datei typospec.tex wird auch die in 1.8 Nr. 4 tabu emp­foh­lene “mod­er­ate Anpas­sung der Para­me­ter, die \TeX\ bei der Berech­nung der Zeilenum­brüche ver­wen­det” von Axel Reichert einge­tra­gen. Diese Para­me­ter habe ich eher zufäl­lig gefun­den, sind aber für den gesamten Umbruch eines Buch­es von großem Nutzen.

Es hat sich bewährt, von vorn­here­in vor dem \begin{document} den Befehl \includeon­ly{} aufzunehmen. Damit kön­nen fer­tige Kapi­tel von den Über­set­zungsläufen aus­geschlossen und nur die Buchteile geset­zt wer­den, an denen man ger­ade arbeit­et oder mal wieder einen Fehler sucht. Man spart sich also eine Menge Über­set­zungszeit. Wenn das Buch schon ein­mal kom­plett über­set­zt wurde, bleibt anhand der Hil­fs­dateien die Num­merierung der Seit­en im All­ge­meinen erhal­ten. Das kann hil­fre­ich sein, wenn man zu mehreren vor dem Mon­i­tor sitzt und anhand der früheren Aus­drucke nach den Stellen sucht, die über­ar­beit­et wer­den sollen.

Dann fol­gt der Auf­bau des eigentlichen Doku­ments.

  %\includeonly{
  %}
  \begin{document}
   \frontmatter
   % \listoftodos % siehe Abschnitt Tools in diesem Beitrag
   \pagenumbering{roman} % Befehl für Art der Seitenummerierung, 
   \maketitle
   % Vorwort, Danksagung usw.
   \include{00_vorspann/vorwort}
   \mainmatter
   \pagenumbering{arabic} % Befehl für Art der Seitenummerierung, 
   \include{01_kapitel1_erstes_kapitel}
   % ...
   \include{nn_kapitel\nn_letztes_kapitel}
   \backmatter
   \appendix
   \include{acronyme}
   \printindex 
   % ggf. weitere Register
   \include{70_nachspann\lastpage} % letzte Seite mit Verweisen auf Webadressen o.ä.
   % \listofchanges % siehe Abschnitt Tools
  \end{document}

Tools

Als äußerst hil­fre­ich hat sich ein Mindmap­ping-Tool erwiesen. Zum Beispiel für alle Betrieb­ssys­teme XMind: https://www.xmind.net/de/ Man gewin­nt bei par­al­lel­er Pflege eines Mindmaps einen guten Überblick nicht nur über das Buch, son­dern auch über das gesamte Pro­jekt.

Vier LaTeX-Pakete möchte ich her­vorheben, die für einen Work­flow für ein Sach­buch sehr hil­fre­ich sind:

  • draft­wa­ter­mark
  • todonotes
  • changes
  • snap­shot

Wasserzeichen

Gibt man den aktuellen Stand seines Manuskripts Drit­ten zu lesen, kann es hil­fre­ich sein, auf der Titel­seite oder auf jed­er einzel­nen Seite ein Wasserze­ichen anzubrin­gen. Das Paket draft­wa­ter­mark ermöglicht eine indi­vidu­elle Gestal­tung des Wasserze­ichens, z.B. auch zur Kennze­ich­nung des aktuellen Arbeit­standes.

ToDo-Listen

Das Paket todonotes bietet gute Möglichkeit­en, notwendi­ge Auf­gaben auch far­blich unter­schiedlich zu markieren und fehlende Bilder auszuweisen. Die zu erledi­gen Auf­gaben wer­den als Mar­gin­alien geset­zt. Auf fehlende Bilder kann mit dem Befehl \miss­ing­fig­ure präg­nant bere­its in den späteren Bild­maßen aufmerk­sam gemacht wer­den.

Korrektorat/Lektorat

Das Paket changes bietet nicht nur die Möglichkeit Stre­ichun­gen, Erset­zun­gen und Ergänzun­gen im Text selb­st, son­dern auch als Liste auszugeben. Den ver­schiede­nen Lektoren/Korrektoren kön­nen Namen­skürzel und jew­eils eine eigene Farbe zugewiesen wer­den.

Ohne die Pakete todonotes und changes hätte die Zusam­me­nar­beit mit den Pro­jek­t­part­ner nicht so gut funk­tion­iert. Aktuelle Arbeitsstände mussten als PDF oder aus­ge­druckt aus­geliefert wer­den, da nur ein Pro­jek­t­mit­glied mit \LaTeX\ umge­hen kon­nte. Bei­de Pakete bieten die Möglichkeit, Lis­ten der Änderun­gen und der unerledigten Auf­gaben mit auszuliefern. Das ersparte viel E‑Mail-Verkehr. Pro­jekt-Schnapp­schuss

Das let­zte Paket leit­et bere­its in den näch­sten Abschnitt Aufräu­men über. Mit snap­shot wird ein kom­plettes Abbild aller Pakete und Dateien in die Datei *.dep geschrieben, die man im Kopf sein­er Präam­bel auskom­men­tiert ein­fü­gen kann. snap­shot lis­tet und die ver­wen­de­ten Klassen- und Paket­dateien mit der zulet­zt ver­wen­de­ten Ver­sion auf, eben­so alle Dateien mit dem voll­ständi­gen Verze­ich­nisp­fad. Das Paket snap­shot zeigt einem sofort, wenn Bilder/Grafiken in einem Kapi­tel in Wirk­lichkeit aus einem anderen Verzeichnis/Kapitel entsprechend dem oben skizzierten Verze­ich­nis­baum stam­men. Wer also viel später das Sach­buch noch ein­mal set­zen oder den Quell­text an einen Drit­ten weit­ergeben möchte, hat alle notwendi­gen Infor­ma­tio­nen über die voll­ständi­ge Datei-Struk­tur und die ver­wen­de­ten Klassen- und Paket­dateien.

Aufräumen

Code wird ohne Rück­sicht auf spätere Wart­barkeit (durch einen selb­st oder durch andere) geschrieben. Das liegt in erste Lin­ie an man­gel­nder Erfahrung. Erst wenn man oft genug vor einem selb­st erzeugten undurch­dringlichen Cod­ed­schun­gel ges­tanden hat, fällt es etwas leichter, beim Schreiben an den kün­fti­gen Leser zu denken.

Kathrin Pas­sig, Johannes Jan­der: Weniger schlecht pro­gram­mieren, O’Reilly, Hei­del­berg, 2013

Ist man endlich mit seinem Pro­jekt fer­tig und das Buch im Druck, hat man sicher­lich eine Pause (und eine Flasche Scham­pus) ver­di­ent. Den­noch wartet noch ein wichtiges Arbeitspaket – aufräu­men.

Bevor Sie das Paket snap­shot ein­set­zen, ist erst ein­mal aufräu­men ange­sagt:

  • Wur­den die Datei-Kon­ven­tio­nen einge­hal­ten?
  • Sind bei der Zusam­men­le­gung oder der Auftren­nung von Kapiteln die Verze­ich­nis- und Dateina­men angepasst wor­den?
  • Ver­ste­ht jed­er hin­ter­her noch, warum bes­timmte Pakete mit bes­timmten optionalen Para­me­tern aufgerufen wur­den?

Ich gebe zu, das ist fast der schwierig­ste Teil. Ger­ade bei einem größeren Pro­jekt lernt man viel neues zu LaTeX und den vie­len hil­fre­ichen Paketen. Man ver­sucht ein Prob­lem während des Pro­jek­ts zu lösen, recher­chiert im Inter­net dazu und find­et let­z­tendlich eine prak­tik­able Lösung. Dabei benutzt man ver­schiedene Befehle oder Para­me­ter, ohne aus­re­ichend zu kom­men­tieren, warum man das ger­ade so gelöst hat. Hil­fre­ich ist es auch – wenig­stens nachträglich – einen Link, der zur Lösung des Prob­lems geführt hat, an der betr­e­f­fend­en Stelle im Quell­text in den Kom­men­tar aufzunehmen.

Zum Schluss noch ein­mal Git aufrufen und alles ins Repos­i­to­ry schreiben. Git bietet die Möglichkeit über Tags diesen Arbeits­stand z.B. als Druck­freiga­be beson­ders zu markieren. Nr. 2.6 git­tags

Der Zeit­druck gegen Ende eines Pro­jek­ts ist immer groß und die Entspan­nung nach Abgabe entsprechend tief. Den­noch:

Die Welt wird sicher­lich kein schlechter­er Ort dadurch, dass Sie stattdessen die all­ge­meine Unzulänglichkeit von fast allem anerken­nen und sich damit beg­nü­gen, Code zu schreiben, den Sie selb­st nach sechs Monat­en noch ver­ste­hen kön­nen.

Kathrin Pas­sig, Johannes Jan­der: Weniger schlecht pro­gram­mieren, O’Reilly, Hei­del­berg, 2013

Projektstand auf DVD brennen

Also aufräu­men, ggf. neu struk­turi­eren und alles an Kom­men­tierun­gen nach­holen, was man unter Druck und in Zeit­not noch nicht geschrieben hat­te. Und dabei sich­er­stellen, dass der Out­put immer noch iden­tisch mit dem abgegebe­nen Werk ist.

Um diesen Arbeits­stand einzufrieren, bietet es sich an, das ganze Pro­jekt auf eine oder mehrere DVD zu bren­nen.

Literatur und Software

Her­bert Voß: Das eigene Buch: Von der Idee zu »Print on Demand«, Lehmanns Media oder selb­st den Ver­trieb übernehmen, http://www.dante.de/events/Herbst2016/Programm/Vortraege/VossGoettingen2016.pdf (besucht am 14. 06. 2017).

Kathrin Pas­sig, Johannes Jan­der: Weniger schlecht pro­gram­mieren, O’Reilly, Hei­del­berg, 2013.

Uwe Ziegen­hagen: »Doku­menten­man­age­ment mit LATEX und Sub­ver­sion«, Die TEXnis­che Komödie, 03 (2008), 43–47.

Ich benutze auf dem Mac die kostenpflichtige App Tow­er (https://www.git-tower.com/mac/, auch für Win­dows) Die App ist intu­itiv zu bedi­enen, und es lassen sich ver­schiedene Repos­i­to­rien sehr über­sichtlich ver­wal­ten.

Joachim Schloss­er: Git fürs Ver­sion­ieren von LATEX-Doku­menten, https://www.schlosser.info/git-latex-versionieren/ (besucht am 01. 06. 2017).

Rain­er-Maria Fritsch: »Text­Mate 2 – LATEX­ing unter MacOS«, Die TEXnis­che Komödie, 04 (2016), 50–56. (Der freie und quellof­fene Edi­tor Text­mate 2 kann hier https://macromates.com/ herunter geladen wer­den).

Sync Fold­ers Pro http://www.greenworldsoft.com/sync-folders-pro-help.php, ca. 8 €.

Kathrin Pas­sig, Johannes Jan­der: Weniger schlecht pro­gram­mieren, O’Reilly, Hei­del­berg, 2013.

Jef­frey E. F. Friedl: Reg­uläre Aus­drücke, O’Reilly, Hei­del­berg, 2007.


Dieser Beitrag erschien zuerst in der TeXnis­chen Komödie – der Mit­gliederzeitschrift der Deutschsprachi­gen Anwen­dervere­ini­gung TeX (Dante e.V.) in Heft 3/2016.