Gibt es bewährte Regeln für das Schreiben von sauberem LaTeX? So etwas wie PEP8 für Python. Beispiele:
- Leerzeichen oder Tabs (kein Troll);
- wie viele Spalten vor dem Umbruch (80 für PEP8-kompatibles Python);
- etwas zu Kommentaren;
- usw.
Antwort1
Die kurze Antwort hier ist einfach: „Nein, es gibt keine Regeln wie PEP8 oder ähnliches.“
Für eine ausführlichere Antwort lohnt es sich vielleicht, LaTeX-Quellen in zwei Typen zu unterteilen:
- Dokumente (für die meisten Leute der Großteil der Arbeit)
- Pakete und anderer „Code“
Natürlich gibt es eine gewisse Überschneidung, da in einer Präambel möglicherweise „schnell etwas Code eingegeben“ werden muss, aber die „Art“ einer Quelldatei ist im Allgemeinen entweder der eine oder der andere Fall.
Bei Dokumenten ist die Anzahl der Autoren, dieimmerDie Quelle ist klein: Das Hauptziel ist die gesetzte Ausgabe. Daher liegt es wirklich an den beteiligten Personen, wie sie ihre Eingaben gestalten.
Bei „Code“ könnte man für leicht andere Ergebnisse argumentieren, da hier zumindest das Potenzial für ein breiteres Lesen/Wiederverwenden von Quellen besteht. Die praktische Erfahrung zeigt jedoch, dass bei den meisten Paketen nur eine Person den Code tatsächlich schreibt, sogar bei weit verbreitetem Material. Wo es Ausnahmen gibt, am offensichtlichsten beim Kernel, aber auch bei Dingen wie beamer
oder biblatex
, ist die „Teamgröße“ tendenziell klein und eine informelle Einigung ist normalerweise möglich. (Normalerweise hat eine Person angefangen, sodass eine Position vereinbart werden kann, die darauf basiert, bei dem zu bleiben, was sie getan hat.) Hier könnten wir natürlich das .dtx
Format für den Code verwenden, was zu sehr anderen „Kommentar“-Ergebnissen führen würde als Fälle, in denen die QuelleIstdas Paket (vergleichen Sie etoolbox
beispielsweise den Kernel mit ).
Der einzige Ort, an dem es einen Styleguide für Code gibt, ist fürexpl3
: das Team hatgeschrieben, basierend auf der Art und Weise, wie der Code tendiert zu. Aber selbst dort gibt es keinen Sinn, dass Code, der diese Regeln nicht befolgt, „schlecht“ ist: Es geht vielmehr um dieInhalt.
Es ist wichtig, sich daran zu erinnern, dass TeX eine Makroerweiterungssprache ist, und das macht die Implementierung automatischer „Checker“ schwierig bis unmöglich: siehe Automatischer Styleguide für LaTeX?.