Zeilenumbruch

Die Artikel Zeilenumbruch und Automatischer Zeilenumbruch überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz. Grüße s2cchstDiskVertraue mirBestätigen? 13:05, 27. Dez. 2009 (CET)

Der Begriff Zeilenumbruch oder Absatz stammt aus dem Schriftsatz und gibt an, an welcher Stelle ein Text von einer Zeile in die nächste übergehen soll.

Inhaltsverzeichnis

Allgemeines

Auf einer Schreibmaschine etwa wird der Zeilenumbruch explizit durch Betätigen einer Taste oder eines Hebels durchgeführt. Dabei werden zwei Funktionen ausgeführt:

  • Wagenrücklauf – Positionierung der Schreibstelle zum Zeilenanfang (ganz links).
  • Zeilenvorschub – Positionierung der Schreibstelle um eine Zeile nach unten

Bei der Einführung der Fernschreiber wurden verschiedene Steuerzeichen (Codierungen elektrischer Signale) eingeführt, um die Zeilenumbruchfunktion einer Schreibmaschine darstellen. Diese sind dann auch, durch ihre Verwendung als erste Ausgabegeräte des Computerwesens, vom Fernmeldewesen in die elektronische Datenverarbeitung übernommen worden.

Reine Textdateien auf dem Computer ähneln in ihrer Darstellung am Bildschirm anfangs einem auf einer Schreibmaschine geschriebenen Text, die Steuerzeichen sind für den Benutzer im Allgemeinen unsichtbar. Mit dem Scrollbalken geht der Zusammenhang zwischen Bildschirmbreite und Zeilenlänge verloren, mit den Proportionalschriften der zwischen Zeichenanzahl und Zeilenlänge. Ausführliche Funktionen haben die Zeichen für den Zeilenumbruch dann erst in der Textauszeichnung (Rich Text Format und ähnliches) bekommen.

Weil die Steuerzeichen noch in den Anfangsphasen der Computertechnik spezifiziert wurden, sind sie mit ihrer Funktionsänderung bis heute eine der großen Inkompatibilitäten zwischen verschiedenen Betriebssystem- und Anwendungssoftwaresystemen.

Codierung des Zeilenumbruch in ASCII

Bei der Entwicklung des ASCII-Zeichensatzes wurden daher zwei Zeichen reserviert, die genau

  • Das Steuerzeichen für den Zeilenvorschub (englisch line feed, kurz LF) ist als ASCII-Zeichen 10 (hexadezimal 0A) kodiert. Manche Systeme erlauben es, das LF-Zeichen mit der Tastenkombination Strg + J einzugeben.
  • Das Steuerzeichen für den Wagenrücklauf (englisch carriage return, kurz CR) ist als ASCII-Zeichen 13 (hexadezimal 0D) kodiert. Manche Systeme erlauben es, das CR-Zeichen mit der Tastenkombination Strg + M einzugeben.

Es existieren verschiedene Standards, um den Zeilenumbruch in einer Textdatei explizit zu kodieren:

BetriebssystemZeichensatzAbkürzungCode HexCode DezimalEscape-Sequenz
Unix, Linux, Mac OS X, AmigaOS, BSD, weitereASCIILF0A10\n
Windows, DOS, OS/2, CP/M, TOS (Atari)CR LF0D 0A13 10\r\n
Mac OS bis Version 9, Apple IICR0D13\r
AIX OS & OS/390EBCDICNEL1521

Auf IBM-Großrechnern ist der Zeilenumbruch in den Dateien kein Steuerzeichen. Vielmehr wird die Zeilenlänge im DCB (Recordformat F oder FB) beziehungsweise in einem Längenfeld am Zeilenanfang (Recordformat V oder VB) gespeichert.

Um Dateien zwischen dem Windows- und dem Unix-Format zu konvertieren, existiert unter anderem das Kommandozeilenprogramm dos2unix (bzw. unix2dos).

Unicode: weitere Zeichen, die Zeilenumbruch markieren

Für Unicode-Texte fordert der Unicode-Standard von Software, die Unicode-konform sein will, dass neben den oben genannten und in Unicode-konformen Zeichenfolgen CR, LF und CRLF folgende weitere Zeichen als Zeilenumbrüche erkannt werden:

Abkürzungenglische Bezeichnungdeutsche BezeichnungCodepoint
FFForm FeedSeitenvorschub (mit zwangsläufigem Umbruch der Zeile)U+000C
NELNew LineNeue ZeileU+0085
LSLine SeparatorZeilentrennerU+2028
PSParagraph SeparatorAbsatztrennerU+2029

Textverarbeitung: Harter, weicher und automatischer Zeilenumbruch

Unterschieden wird in der Textformatierung der Textverarbeitungssysteme zwischen einem harten, einem weichen (die beiden manuellen Zeilenumbrüche), und dem automatischen Zeilenumbruch.

  1. Der eigentlich dem klassischen Absatz entsprechende Umbruch ist der Absatzumbruch, mit dem Steuerzeichen «» (Absatzmarke, Pilcrow). Sie markiert den Abschluss einer Zeile in einfachen Texten (plaintext), eines klassischen Absatzes in komplex formatierten (rich text) Schriftwerken – Eingabe erfolgt mit Enter/. Beim harten Zeilenumbruch wird am Ende der Vorzeile das beschriebene Steuerzeichen eingefügt, so dass der Zeilenumbruch „hart“ in die bearbeitete Datei geschrieben wird.
  2. Der weiche Zeilenumbruch ist ein erzwungener Zeilenneubeginn ohne Absatzmarke, das Steuerzeichen ist «↵», die Eingabe erfolgt mit ⇧ Shift+↵ Enter. Der weiche Umbruch dient dazu, eine neue Zeile zu beginnen, ohne die Absatzformatierung zu unterbrechen, oder um Zeilenumbrüche in Tabellen zu erzeugen, wo eine Zelle durch die Absatzmarke abgeschlossen wird. Er wird ebenfalls in der Datei gespeichert.
  3. Automatischer Zeilenumbruch, die beim Überschreiten einer bestimmten Zeilenlänge, insbesondere aber der Fensterbreite das aktuelle Wort automatisch an den Anfang einer neuen Zeile platzieren, damit der Text komplett angezeigt werden kann, ohne dass der Benutzer horizontal scrollen muss. Der weiche Zeilenumbruch erfolgt nur auf dem Bildschirm, wird jedoch nicht in der Datei gespeichert, und kann auch nicht als solcher eingegeben werden. Hierdurch wird der Benutzer von der Notwendigkeit, die Zeilen manuell umzubrechen, befreit. Viele moderne Texteditoren besitzen eine automatische Zeilenumbruchsfunktion (dadurch wird vermieden, dass er den gesamten Absatz neu umbrechen muss, wenn er nur ein Wort zusätzlich einfügt), in der Webtypographie (HTML-Dokumente) ist sie standardmäßig voreingestellt. Der automatische Zeilumbruch erfolgt immer bis zum nächsten Absatzumbruch, kann durch den weichen Umbruch erzwungen werden, oder muss durch besondere Formatierungsanweisungen (wie etwa <pre> in HTML, oder die Anweisung kein automatischer Zeilenumbruch in der Absatzformatierung) ausdrücklich ausgesetzt werden.

Weitere Umbruchsituationen der Zeile ergeben sich sowohl im Seitenwechsel, als auch im Spaltensatz (Spaltenumbruch).

Programmierung: Codierung mit CR und LF

Durch die verschiedenen Konventionen zum Kodieren der Formen des Zeilenumbruchs auf Computersystemen, die bei der Übernahme der Fernschreib/Schreibmaschinen-Konventionen in die elektronische Textverarbeitung entstanden, treten beim Austausch zwischen unterschiedlichen Systemen Probleme auf.

Bekanntes Beispiel ist die Funktion printf() bzw. fprintf() aus der Standard C Library zum Schreiben in Dateien. Die Escape-Sequenz \n (LF) steht in C für einen Zeilenumbruch. Beim Schreiben in Dateien wird in C zwischen Textmodus und Binärmodus unterschieden. Bei im Textmodus geöffneten Dateien erfolgt eine Übersetzung von \n in die auf dem jeweiligen System üblichen Steuerzeichen für den Zeilenumbruch. Somit erfolgt in unixartigen Betriebssystem keine Umsetzung, da dort LF bereits für den Zeilenumbruch steht. Dagegen findet unter Windows eine Substitution durch CR LF statt. Die resultierenden Dateien sind folglich nicht identisch. Ist die Datei im Binärmodus geöffnet, erfolgt keine Übersetzung, sondern es wird stets ein LF in die Datei geschrieben.

Bei Java stehen die Escapesequenzen \n und \r zur Verfügung; eine Umwandlung erfolgt nicht, stattdessen können mittels gesonderter Funktionen die plattformabhängigen Zeichen für den Zeilenumbruch eingefügt werden. Beim Einlesen ist die Java-Bibliothek tolerant und akzeptiert sowohl CR, LF als auch CR+LF als Zeilenende.[1] Auch andere Programmiersprachen wie Visual Basic oder Perl stellen ähnliche Funktionalitäten zur Verfügung, um Textdateien korrekt zu verarbeiten.

Zahlreiche Netzwerkprotokolle zur Übertragung von Text, z. B. HTTP, SMTP oder FTP, definieren die Sequenz CR+LF für einen Zeilenumbruch. Einige Programme, z. B. Mail Transfer Agents, sind strikt und verweigern sogar die Verarbeitung von Daten mit alleinstehenden LFs (”Bare LF”).[2] Andere Protokolle empfehlen jedoch, auch ein einzelnes LF als (ggf. weichen) Umbruch zu interpretieren.

Siehe auch

Einzelnachweise

  1. Java-Dokumentation: java.io.BufferedReader
  2. Bare LFs in SMTP

Hinweise zum Konvertieren verschiedener Zeilenumbrüche

© Dieser - Artikel zu Zeilenumbruch stammt von Wikipedia und ist lizensiert unter GFDL. Hier können Sie den Original-Artikel zu Zeilenumbruch , die Versionsgeschichte und die Liste der Autoren einsehen. © Dieser Artikel zu ohneAbsatzmarke,dasSteuerzeichenist«↵»,dieEingabeerfolgtmit⇧Shift+↵Enter.DerweicheUmbruchdientdazu,eineneueZeilezubeginnen,ohnedieAbsatzformatierungzuunterbrechen,oderumZeilenumbrücheinTabellenzuerzeugen,woeineZelledurchdieAbsatzmarkeabgeschlossenwird.ErwirdebenfallsinderDateigespeichert.
  • AutomatischerZeilenumbruch,diebeimÜberschreiteneinerbestimmtenZeilenlänge,insbesondereaberderFensterbreitedasaktuelleWortautomatischandenAnfangeinerneuenZeileplatzieren,damitderTextkomplettangezeigtwerdenkann,ohnedassderBenutzerhorizontalscrollenmuss.DerweicheZeilenumbrucherfolgtnuraufdemBildschirm,wirdjedochnichtinderDateigespeichert,undkannauchnichtalssolchereingegebenwerden.HierdurchwirdderBenutzervonderNotw stammt von Wikipedia und ist lizensiert
    unter GFDL. Hier können Sie den ⇧Shift+↵Enter.DerweicheUmbruchdientdazu,eineneueZeilezubeginnen,ohnedieAbsatzformatierungzuunterbrechen,oderumZeilenumbrücheinTabellenzuerzeugen,woeineZelledurchdieAbsatzmarkeabgeschlossenwird.ErwirdebenfallsinderDateigespeichert.
  • AutomatischerZeilenumbruch,diebeimÜberschreiteneinerbestimmtenZeilenlänge,insbesondereaberderFensterbreitedasaktuelleWortautomatischandenAnfangeinerneuenZeileplatzieren,damitderTextkomplettangezeigtwerdenkann,ohnedassderBenutzerhorizontalscrollenmuss.DerweicheZeilenumbrucherfolgtnuraufdemBildschirm,wirdjedochnichtinderDateigespeichert,undkannauchnichtalssolchereingegebenwerden.HierdurchwirdderBenutzervonderNotw”>Original-Artikel zu ohneAbsatzmarke,dasSteuerzeichenist«↵»,dieEingabeerfolgtmit⇧Shift+↵Enter.DerweicheUmbruchdientdazu,eineneueZeilezubeginnen,ohnedieAbsatzformatierungzuunterbrechen,oderumZeilenumbrücheinTabellenzuerzeugen,woeineZelledurchdieAbsatzmarkeabgeschlossenwird.ErwirdebenfallsinderDateigespeichert.
  • AutomatischerZeilenumbruch,diebeimÜberschreiteneinerbestimmtenZeilenlänge,insbesondereaberderFensterbreitedasaktuelleWortautomatischandenAnfangeinerneuenZeileplatzieren,damitderTextkomplettangezeigtwerdenkann,ohnedassderBenutzerhorizontalscrollenmuss.DerweicheZeilenumbrucherfolgtnuraufdemBildschirm,wirdjedochnichtinderDateigespeichert,undkannauchnichtalssolchereingegebenwerden.HierdurchwirdderBenutzervonderNotw , die Versionsgeschichte
    und die Liste der ⇧Shift+↵Enter.DerweicheUmbruchdientdazu,eineneueZeilezubeginnen,ohnedieAbsatzformatierungzuunterbrechen,oderumZeilenumbrücheinTabellenzuerzeugen,woeineZelledurchdieAbsatzmarkeabgeschlossenwird.ErwirdebenfallsinderDateigespeichert.
  • AutomatischerZeilenumbruch,diebeimÜberschreiteneinerbestimmtenZeilenlänge,insbesondereaberderFensterbreitedasaktuelleWortautomatischandenAnfangeinerneuenZeileplatzieren,damitderTextkomplettangezeigtwerdenkann,ohnedassderBenutzerhorizontalscrollenmuss.DerweicheZeilenumbrucherfolgtnuraufdemBildschirm,wirdjedochnichtinderDateigespeichert,undkannauchnichtalssolchereingegebenwerden.HierdurchwirdderBenutzervonderNotw&action=history”>Autoren einsehen.