TextKonverter

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:

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):

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.