Mehr Struktur durch kürzeren Code pro Zeile?

Dieser Beitrag wurde durch eine unerwartete und bis dahin unbekannte Beobachtung ausgelöst: Wie ich meinen LaTeX-Quellcode neulich mit dem KDE-LaTeX-Editor Kile öffnete, wurde mir eine Warnung ausgegeben, dass manche der Zeilen »zu viele« Zeichen pro Zeile enthielten, nämlich mehr als 1024. Ein automatischer Umbruch wäre die Folge. Nun gut, dachte ich mir, mal sehen, was passiert.

 

Wie ich wusste, ist es ja prinzipiell egal, ob innerhalb eines Absatzes mit LaTeX verfassten Quellcodes eine neue Zeile beginnt. Würden die beiden Zeilen eines Absatzes aufeinanderfolgen, würden diese beim Kompilieren sowieso neu zusammengesetzt. (Ließe man jedoch eine leere Zeile dazwischen frei, entspräche dies einem neuen Absatz mit eventuell erscheinenden Einrückungen am Zeilenanfang nach dem Kompilieren.)

 

Kile jedoch brach meinen Quellcode strikt nach 1024 Zeichen um – leider auch mitten im Wort. Das sieht natürlich nicht nur unschön aus, sondern verwirrt auch die automatische Rechtschreibprüfung, z.B. die vom Editor TeXMaker.

 

Natürlich hätte ich Kile dieses seltsame Vorgehen für andere geöffnete Dokumente austreiben können, indem ich im Öffnen/Speichern-Menü die Begrenzung der Zeilenlänge auf »0« setze. Allerdings veranlasste mich diese Voreinstellung zu weiteren Nachforschungen; schließlich hatten sich die Entwickler etwas dabei gedacht.

 

Wie ich herausfand, gibt es wohl mehrere inoffizielle Konventionen für Quellcode-Programmierung, die eine begrenzte Anzahl von Zeichen pro Zeile vorschreiben. Dies soll die Übersichtlichkeit wahren. Quellcode für Software enthält ja ohnehin nur wenige Dutzend Zeichen pro Zeile.

 

Bei LaTeX ist das natürlich anders: Ähnlich wie in einer Textverarbeitung vergisst man manchmal, dass man im Quellcode und damit »zeilenweise« arbeitet, sondern schreibt wenn nötig ewig lange Absätze zusammen in »eine Zeile«.

 

Wie ich schon sagte, ist es beim Kompilieren des Quellcodes dem LaTeX-System egal, ob jeder Satz einzeln in einer extra Zeile steht, oder fünfzehn Sätze in einer einzigen Zeile. Verteilt man jedoch tatsächlich jeden Satz auf eine neue Zeile (zur Trennung zweier Absätze wird dagegen eine volle Zeile frei gelassen!), ergeben sich folgende Vorteile:

  1. Die Arbeit in Terminal-Editoren wie vim oder nano (unter GNU/Linux-Systemen) wird erleichtet: Sind nämlich dort die Zeichen pro Zeile zu umfangreich (»ewig langer Absatz«), werden die ganzen Absätze abhängig von der Größe des Terminal-Fensters komplett ausgeblendet; man tippt also ggfs. »blind«.
  2. Fehler oder Warnungen beim Kompilieren können schneller gefunden werden: Wird die fehlerhafte Stelle im Code als Zeilennummer ausgegeben, muss man in diesem Absatz eben nicht mehr Hunderte Wörter nach der Problemstelle durchsuchen, sondern nur den einen Satz dieser Zeile.

 

Allerdings könnte ich mir auch einige Schwierigkeiten vorstellen, sollte man jeden Satz in eine eigene Zeile schreiben:

  1. Rückkonvertierungen vom Quellcode oder PDF zu einem Dokument für die gewöhnliche Textverarbeitung wie dem LibreOffice Writer oder M$ Word funktionieren meistens problematisch und ohne befriedigendes Ergebnis. Selbst bei sehr einfach strukturierten Dokumenten. Wer im Besitz von Adobes Acrobat ist, kann über das »Speichern Unter«-Menü direkt von PDF zu einer Word-Datei speichern. Meistens kommt etwas raus, das man aufwendig nachbearbeiten muss, wie ich an zahlreichen Eigenversuchen erfahren konnte. Wer tatsächlich gezwungen wird, für die Weitergabe beispielsweise an Co-Autoren eines Manuskripts statt des vorteilhaften PDF-Formats eine Word-Datei zu speichern, kommt meist nicht über den Schritt herum, den Quellcode per Copy & Paste in eine Textverarbeitung zu übertragen. Und genau hier wird die Nachbearbeitung maximiert, wenn die Sätze im Quellcode auf einzelne Zeilen verteilt sind, anstatt in einem Absatz zusammengefasst zu sein. Das Kopieren der Textblöcke aus einem fertigen PDF empfehle ich übrigens nicht (auch wenn das geht), weil hier gegebenfalls viele Wortumbrüche auftreten, die mitkopiert werden und manuell herausgelöscht werden müssen. Die Gefahr, hierbei welche zu übersehen, ist relativ groß. Eine weitere, jedoch ebenso wenig ausgereift funktionierende Variante für die Konvertierung von LaTeX-Quellcode zu einem Textverarbeitungsdokument gibt es für alle, die mit TeXMaker der aktuellen Version arbeiten. Jene finden im Menü Werkzeuge|Export via TeX4ht einen Dialog, womit der Code theoretisch ins OpenDocument-Format, also .odt für LibreOffice Writer und andere, konvertiert werden kann. Ein solches Dokument entsteht dann auch, aber … seht selbst.
  2. Weiterhin wird die Arbeit am Quellcode kompliziert und aufwendig, wenn bestimmte Testpassagen auskommentiert (also beim Kompilieren des Codes ignoriert) werden sollen. Wer seinen Absatz aus z.B. 10 Sätzen auskommentieren will, setzt ein einziges Prozentzeichen am Anfang des entsprechenden Absatzes: Der der eine Absatz steht nur in einer einzigen Zeile. Ist dagegen jeder einzelne Satz auf eine jeweils separate Quellcode-Zeile verteilt, muss man auch 10-mal ein Prozent-Zeichen setzen.

 

Für wen die Vorteile gewichtiger wirken, findet mit dem Editor Kile eine hilfreiche Unterstützung, bei der der sog. "statische Zeilenumbruch" aktiviert werden kann. Hier stellt man ein, nach wie vielen Zeichen (Standard = 80) der Umbruch erfolgen soll, und kann fortan ganz unbekümmert seinen Text tippen. Nach 80 Zeichen wird der Text automatisch umgebrochen und der Cursor auf eine neue Zeile gesetzt.