Wikipedia · einfach zusammengefasst · Stand
Zeilenumbruch
Der Begriff Zeilenumbruch stammt aus der elektronischen Textverarbeitung und gibt an, an welcher Stelle ein Text von einer Zeile in die nächste übergehen …
Inhalt5 Abschnitte
Begriff und Bedeutung
Ein Zeilenumbruch legt fest, an welcher Stelle ein Text von einer Zeile in die nächste übergeht. Auf einer Schreibmaschine umfasst er zwei getrennte Vorgänge: den Wagenrücklauf, der die Schreibstelle an den linken Zeilenanfang setzt, und den Zeilenvorschub, der sie um eine Zeile nach unten bewegt.
Für Fernschreiber wurden diese Vorgänge durch Steuerzeichen dargestellt, also durch codierte elektrische Signale. Da Fernschreiber zu den ersten Ausgabegeräten der Informatik gehörten, übernahm die elektronische Datenverarbeitung diese Zeichen. In reinen Textdateien sind sie normalerweise unsichtbar. Ihre frühe Festlegung und ihre später veränderte Verwendung führten jedoch zu bis heute bestehenden Unterschieden zwischen Betriebssystemen und Anwendungsprogrammen.
Bildschirmbreite, Zeilenlänge und Zeichenanzahl hängen heute nicht mehr fest zusammen: Texte können gescrollt werden, und Proportionalschriften geben verschiedenen Zeichen unterschiedliche Breiten. Erweiterte Bedeutungen erhielten Zeilenumbrüche deshalb vor allem in Rich-Text-Formaten und anderen Formen der Textauszeichnung.
Absätze und Zeilen in der Textverarbeitung
Textverarbeitungsprogramme unterscheiden zwischen Absatzwechsel und einfachem Zeilenwechsel sowie zwischen hartem und weichem Umbruch. Die genaue Eingabe und Darstellung kann je nach System abweichen.
Ein Absatzwechsel beginnt einen neuen Absatz. Er wird meist mit Enter beziehungsweise ↵ eingegeben und häufig durch das Absatzzeichen ¶ dargestellt. In modernen Textverarbeitungen sollte er verwendet werden, wenn sich zusätzlich die Absatzformatierung ändern, automatisch Abstand eingefügt oder eine andere Rich-Text-Funktion ausgeführt werden soll. In HTML stehen <p> und </p> für Anfang und Ende eines Absatzes.
Ein einfacher Zeilenumbruch beginnt eine neue Zeile, ohne die Formatierung des aktuellen Absatzes zu beenden. Er ist beispielsweise innerhalb von Tabellenzellen nützlich und wird je nach System mit ⇧ Shift+↵ Enter oder Strg+↵ Enter eingegeben. Das Steuerzeichen wird in der Datei gespeichert; in HTML dient dazu <br>.
Ein harter Zeilenumbruch wird als Steuerzeichen fest in die Datei geschrieben. Ein weicher Zeilenumbruch oder Soft Break entsteht dagegen automatisch bei der Darstellung, etwa wenn ein Wort wegen der Fensterbreite in die nächste Zeile verschoben wird. Dieses Word Wrap verhindert horizontales Scrollen und wird meist nicht gespeichert. Nach dem Einfügen oder Entfernen von Wörtern kann die Software den Absatz automatisch neu umbrechen; in HTML-Dokumenten ist dieses Verhalten standardmäßig vorgesehen.
Geschützte Leerzeichen verhindern einen automatischen Umbruch. Fakultative beziehungsweise bedingte Trennstriche kennzeichnen Stellen, an denen ein Wort bevorzugt getrennt werden darf. HTML und CSS bieten weitere Steuerungsmöglichkeiten, etwa <pre> oder white-space:nowrap. Weitere Arten sind Seiten- und Spaltenumbrüche. Im Druckwesen heißt das Anordnen der Zeilen unter Berücksichtigung von Seiten, Spalten, Bildern und Grafiken Mettage.
Codierung in Textdateien
ASCII reserviert zwei Steuerzeichen für den Umbruch: Line Feed (LF, Zeilenvorschub) hat den Dezimalwert 10 beziehungsweise den Hexadezimalwert 0A und kann in manchen Systemen mit Strg+J eingegeben werden. Carriage Return (CR, Wagenrücklauf) hat den Dezimalwert 13 beziehungsweise den Hexadezimalwert 0D und ist teilweise mit Strg+M eingebbar.
Die Betriebssystemkonventionen unterscheiden sich:
- Unix, BSD und unixartige Systeme wie macOS und Linux verwenden LF, dargestellt als \n.
- CP/M, DOS, OS/2 und Windows verwenden CRLF mit den Hexadezimalwerten 0D0A, dargestellt als \r\n.
- Apple II, Commodore VIC/C64 und Mac OS Classic verwenden CR, dargestellt als \r.
- Bestimmte EBCDIC-Systeme wie AIX, OS/390 und Z/OS verwenden NL mit dem Hexadezimalwert 15 und dem Dezimalwert 21.
POSIX definiert <newline> ausschließlich als LF. Moderne Windows-Techniken wie WPF, UWP XAML, WinUI 2, WinUI 3 und XAML Islands können LF verarbeiten; fehlende Unterstützung betrifft vor allem ältere Bereiche der Windows-API wie Win32. Beim Lesen übernehmen Programmbibliotheken meist die automatische Konvertierung.
Auf IBM-Großrechnern kann der Zeilenumbruch statt durch ein Steuerzeichen über Datensätze festgelegt sein: Die Zeilenlänge steht entweder im Data Control Block bei den Recordformaten F oder FB oder in einem Längenfeld am Zeilenanfang bei V oder VB. Unter macOS kommen wegen der Kompatibilität zu Mac OS noch Formate mit CR vor. Falsch deklarierte CRLF-Dateien können in einigen Programmen doppelte Umbrüche erzeugen.
Unicode und Programmierung
Unicodekonforme Software soll nach dem Unicode-Zeilenumbruch-Algorithmus neben CR, LF und CRLF weitere Zeichen als Umbrüche erkennen: Form Feed (FF, Seitenvorschub) U+000C, Next Line (NEL) U+0085, Line Separator (LS, Zeilentrenner) U+2028 und Paragraph Separator (PS, Absatztrenner) U+2029.
In C steht die Escape-Sequenz \n für einen Zeilenumbruch. Wird eine Datei im Textmodus geöffnet, übersetzt die Laufzeitbibliothek \n in die Konvention des Betriebssystems: Unter Unix bleibt es LF, unter Windows wird daraus CRLF. Im Binärmodus findet keine Übersetzung statt; es wird stets LF geschrieben. Dadurch können auf verschiedenen Systemen erzeugte Dateien unterschiedliche Bytes enthalten.
JavaScript legt offiziell keinen festen Zeilenumbruch fest, normalisiert in Browsern und Standardbibliotheken aber an vielen Stellen auf \n, etwa bei Template Literals oder beim Einlesen von HTML. Auch viele JSON-Bibliotheken verwenden praktisch LF.
Java besitzt die Zeichenkonstanten \n und \r, wandelt sie aber nicht automatisch um. Plattformabhängige Zeilentrenner lassen sich durch besondere Funktionen oder mit dem Formatierungscode %n der neueren printf-Funktion ausgeben. readLine() akzeptiert CR, LF und CRLF. Bei einer EBCDIC-Codepage wie Cp500 wird EBCDIC NEL (0x15) auf LF (U+000A), nicht auf NEL (U+0085), abgebildet.
Netzwerkprotokolle wie HTTP, SMTP und FTP schreiben häufig CRLF vor. Manche Programme, darunter bestimmte Mail Transfer Agents, lehnen einzelne LF-Zeichen als „Bare LF“ ab; andere Protokolle empfehlen, auch LF als gegebenenfalls weichen Umbruch zu verstehen. XML legt die Behandlung in Abschnitt 2.11 fest; XML 1.1 ergänzte U+0085 und U+2028.
Sichtbare Kennzeichnung von Umbrüchen
Wird ein typografischer Umbruch unterdrückt, kann seine ursprüngliche Stelle sichtbar markiert werden. In Poesiezitaten kennzeichnet eine Virgel „/“ einzelne Versgrenzen; deutlichere Absätze wie Strophen können durch „//“ dargestellt werden.
Umgekehrt muss manchmal ein nur wegen der Darstellung entstandener und inhaltlich unerwünschter Umbruch markiert werden, etwa in Programmcode oder langen URLs. Je nach Format werden dafür beispielsweise „_“, „\“ oder „↩“ (U+21A9) verwendet. Das Zeichen ↩ kann als drucktypografische Anweisung „Umbruch ignorieren“ dienen. Beim Kopieren einer so getrennten Webadresse behandeln Programme die Stelle jedoch unterschiedlich: Manche ignorieren den folgenden Teil, andere setzen die Adresse zusammen; dann muss ↩ gegebenenfalls von Hand entfernt werden. Im rein elektronischen Medium kann die Markierung daher störend sein.
Beim Korrekturlesen im Druckwesen gibt es außerdem Korrekturzeichen für einen fehlenden oder unerwünschten Absatz. Sie weisen darauf hin, einen Zeilenumbruch einzufügen beziehungsweise zu entfernen und den Absatz anzuhängen.