Zeilennummern in Textdateien schreiben
In Office-Programmen wie Microsoft Word, Libre Office oder OpenOffice ist es ein leichtes, seine DOC-, DOCX- oder ODT-Dokumente mit Zeilennummern zu versehen. Je nach verwendeter Office-Suite sind dafür nur wenige Klicks in den Spalten- oder Seiteneinstellungen des Dokuments nötig und schon kümmert sich das Programm automatisch um den Rest. Wie aber sieht es mit simplen Plain-Text-Dateien aus, die keine Metaebene für Formatierungen enthalten?
Auch für diese Dateien gibt es eine einfache Lösung: Nutzen Sie einfach die Funktion "Zeilennummern einfügen" aus dem TextKonverter, die Sie auf der rechten Seite des Hauptfensters unter "Aktionen > Zeilen > Zeilennummern" finden.
Startwert und Intervall konfigurieren
Nachdem Sie diese Aktion über die Checkbox davor aktiviert haben, können Sie Ihre Zeilennummern über zwei Optionen steuern:
- Start: Mit diesem Feld können Sie einen freien Startwert definieren, bei dem die Zählung Ihrer Zeilennummern beginnt. Dies ist also die Nummer, die die erste Zeile haben wird. Typischerweise ist dies die "1", Sie können die Zahlen aber auch bei "0" oder jedem beliebigen anderen Wert beginnen lassen - zum Beispiel wenn Sie mehrere Textdateien fortlaufend nummerieren möchten.
- Intervall: Zeilennummern erscheinen typischerweise nicht vor jeder Zeile sondern zum Beispiel nur vor jeder fünften oder zehnten Zeile eines Textes. Diese Eigenschaft können Sie mit diesem Wert steuern. Setzen Sie dieses Feld auf "1", wenn Sie vor jeder Zeile eine Nummern einfügen möchten, auf "2", wenn nur jede zweite Zeile eine Nummer erhalten soll und so weiter.
Beispiel für eine Nummerierung jeder fünften Zeile
Schauen wir uns dazu ein Beispiel an. Angenommen wir haben eine Textdatei mit dem folgenden ursprünglichen Inhalt:
abcdef
bcdefg
cdefgh
defghi
efghij
fghijk
ghijkl
hijklm
ijklmn
jklmno
Nun möchten wir diese Textdatei mit Zeilennummern versehen. Wir aktivieren dazu im TextKonverter die Aktion "Aktionen > Zeilen > Zeilennummern" und wählen einen Startwert von "1" sowie ein Intervall von "5". Als Ergebnis erhalten wir damit den folgenden Text:
abcdef
bcdefg
cdefgh
defghi
5 efghij
fghijk
ghijkl
hijklm
ijklmn
10 jklmno
Wie Sie sehen, werden alle Zeilen automatisch so weit eingerückt, dass jede Zeile nach den Nummern an der gleichen Zeichenposition startet und sich somit bei Nutzung einer Schriftart mit fixer Zeichenbreite (wie zum Beispiel Courier oder Consolas) ein linksbündiger Start jeder Zeile nach der "Spalte" mit den Zeilennummern ergibt.
In unserem Beispiel ist dies die Zeichenposition 4. Die längste Zeilennummer ist mit zwei Stellen die "10" womit sich unter Einbeziehung eines Leerzeichens Abstand dieser Start an Position 4 ergibt. Würden unsere Zeilennummern bei längeren Texten drei- oder vierstellig, würde sich der Beginn der eigentlichen Zeile entsprechend auf Zeichenpositon 5 oder 6 für alle Zeichen verschieben.
Automatische Zeilenumbrüche einfügen
Im Gegensatz zu Office-Dokumenten haben Textdateien keine interne Formatierung für eine Begrenzung der Seitenbreite, die unabhängig von den echten Zeilenumbrüchen zum automatischen Umbrechen langer Zeilen an immer der gleichen Stelle führen würde. Stattdessen richtet sich der Umbruch langer Zeilen typischerweise nach der Fenstergröße des Texteditors, mit dem die Datei gerade angezeigt wird. Je nachdem ob man seinen Editor vergrößert oder verkleinert erfolgt der Umbruch der Zeile also an einer immer anderen Stelle im Text.
Dieses Verhalten ist für unsere eingefügten Zeilennummern natürlich nicht von Vorteil. Schließlich erfolgt die Zeilenzählung und Nummerierung nur aufgrund der echten Zeilenumbrüche innerhalb unserer Datei wodurch dann lange automatisch umgebrochene Zeilen je nach Editorfenstergröße unnummeriert wirken können.
Aber auch für diese Problematik bietet uns der TextKonverter eine einfache Lösung an: Und zwar indem wir die Aktion "Aktionen > Zeilen > Zeilennummern" einfach mit der Aktion "Aktionen > Zeilen > Zeilenumbrüche" kombinieren indem wir diese zweite Aktion zusätzlich zu der ersten aktivieren. In dieser Aktion interessiert uns nur die folgende Option (die anderen Optionen sollten deaktiviert sein):
- Zeilenumbruch nach dieser Anzahl von Zeichen einfügen: Hier lässt sich eine beliebige Mindestanzahl von Zeichen definieren, nach denen dann längere Zeilen spätestens automatisch durch Einfügung eines echten Zeilenumbruchs umgebrochen werden. Wenn nötig auch mehrfach.
Damit können wir künstlich eine fixe "Seitenbreite" für unseren Text erzeugen, die natürlich nach Möglichkeit nicht breiter sein sollte als das später genutzte Editorfenster oder der sonstige Anzeigeort. Natürlich erfolgen die Umbrüche unter Beachtung von Leerzeichen und Wörtern und nicht einfach nur mitten im Wort nach einem bloßen Abzählen der geforderten Anzahl von Zeichen.
Schauen wir uns auch dazu ein Beispiel aus der Praxis an. Angenommen wir haben den folgenden ursprünglichen Text:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Wenn wir diesen mit Zeilennummern versehen (hier zu Demonstrationszwecken eingefügt in jeder einzelnen Zeile), würden wir das folgende unschöne Ergebnis erhalten (bei angenommener Editor-Breite von 50 darstellbaren Zeichen):
1 Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
2 Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
3 Duis autem vel eum iriure dolor in hendrerit in
vulputate velit esse molestie consequat, vel
illum dolore eu feugiat nulla facilisis at vero
eros et accumsan et iusto odio dignissim qui
blandit praesent luptatum zzril delenit augue
duis dolore te feugait nulla facilisi.
4 Lorem ipsum dolor sit amet, consectetuer
adipiscing elit, sed diam nonummy nibh euismod
tincidunt ut laoreet dolore magna aliquam erat
volutpat.
Abhilfe schafft die Aktivierung der Option "Aktionen > Zeilen > Zeilenumbrüche > Zeilenumbruch nach dieser Anzahl von Zeichen einfügen", die wir hier auf 45 Zeichen gesetzt haben (mit einem Einfüge-Interval der Zeilennummern von 5 Zeilen):
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud
5 exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat
10 cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
Duis autem vel eum iriure dolor in hendrerit
in vulputate velit esse molestie consequat,
vel illum dolore eu feugiat nulla facilisis
15 at vero eros et accumsan et iusto odio
dignissim qui blandit praesent luptatum
zzril delenit augue duis dolore te feugait
nulla facilisi.
Lorem ipsum dolor sit amet, consectetuer
20 adipiscing elit, sed diam nonummy nibh
euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat.
Wie Sie sehen erfolgte durch diese zusätzliche Aktion ein automatischer Zeilenumbruch dergestalt, dass nun keine Zeile mehr länger als die vorgegebene Maximalanzahl von Zeichen ist und im Ergebnis unsere eingefügten Zeilennummern auch bei kleinerem Editorfenster oder sonstiger zur Verfügung stehender Anzeigebreite vernünftig zur Geltung kommen.