Du hast Enter gedrückt, aus den zwei Zeilen wurde ein Absatz, und nichts sieht so aus, wie du es getippt hast. Das ist das Erste, was an Markdown alle überrascht, und es ist Absicht: Ein einzelner Zeilenumbruch in der Quelle gilt als gewöhnliches Leerzeichen, damit du lange Absätze in deinem Editor umbrechen kannst, ohne die Ausgabe zu verändern.
Es gibt drei Wege zu dem Umbruch, den du wolltest. Ändere das Panel unten und sieh dir an, welcher welcher ist.
Diese Zeile und diese
landen im selben Absatz.
Eine Leerzeile darüber beginnt einen neuen Absatz.
Zwei Leerzeichen am Zeilenende
erzwingen einen Umbruch im selben Absatz.
Ein Backslash geht auch\
und ist besser zu sehen.Diese Zeile und diese landen im selben Absatz.
Eine Leerzeile darüber beginnt einen neuen Absatz.
Zwei Leerzeichen am Zeilenende
erzwingen einen Umbruch im selben Absatz.
Ein Backslash geht auch
und ist besser zu sehen.
Die Regel dahinter
Markdown kennt zwei verschiedene Dinge, und sie zu verwechseln ist die Ursache der Verwirrung:
- Ein Absatzumbruch setzt einen Abstand zwischen zwei Textblöcke. Er erscheint als zwei getrennte
<p>-Elemente. Du bekommst ihn mit einer Leerzeile. - Ein Zeilenumbruch springt in die nächste Zeile innerhalb desselben Absatzes. Er erscheint als
<br>. Du bekommst ihn mit zwei Leerzeichen am Zeilenende oder einem Backslash.
Meistens willst du einen Absatzumbruch, und dafür reicht eine Leerzeile.
Das Problem mit den zwei Leerzeichen
Zwei Leerzeichen am Zeilenende sind die ursprüngliche Syntax und funktionieren fast überall — aber sie sind unsichtbar. Du siehst sie beim Schreiben nicht, die meisten Editoren entfernen Leerzeichen am Zeilenende beim Speichern, und in einem Code-Review tauchen sie nie auf. Eine Datei, die auf deinem Rechner richtig erscheint, kann still aufhören zu funktionieren, nachdem jemand anders sie geöffnet hat.
Der Backslash ist neuer, gehört zu CommonMark und ist in der Quelle sichtbar. Wenn dein Editor und dein Ziel beide CommonMark beherrschen — die meisten modernen tun das —, nimm ihn. Schreibst du für etwas Altes oder Ungewöhnliches, nimm zwei Leerzeichen und schalt in deinem Editor „Leerzeichen am Zeilenende entfernen" ab.
Rosen sind rot
Veilchen sind blau
Rosen sind rot\
Veilchen sind blauRosen sind rot
Veilchen sind blau
Rosen sind rot
Veilchen sind blau
Beide erscheinen identisch. Nur eines von beiden übersteht ein Speichern.
Wo Zeilenumbrüche wirklich zählen
Adressen, Gedichte, Liedtexte und Signaturen sind die Fälle, in denen der Unterschied sichtbar ist und ein Absatzumbruch falsch wäre:
Carlo Di Giuseppe\
AppJuice\
ItalienCarlo Di Giuseppe
AppJuice
Italien
Ohne die Umbrüche wird daraus eine einzige durchlaufende Zeile. Mit einer Leerzeile zwischen jeder werden es drei Absätze, viel zu weit auseinander.
Häufige Fehler
Zweimal Enter innerhalb einer Liste. Eine Leerzeile zwischen Listenpunkten macht aus einer engen Liste eine lockere — jeder Punkt kommt in ein <p> und die Abstände wachsen. Das ist ein echtes Feature, überrascht aber. Siehe die Anleitung zu Listen.
Leerzeichen am Zeilenende, beim Speichern entfernt. Sieh in den Einstellungen deines Editors nach. Das ist der häufigste Grund dafür, dass eine Markdown-Datei bei jemand anderem anders aussieht.
<br> direkt schreiben. Es funktioniert in den meisten Renderern, weil sie rohes HTML zulassen. Aber es nimmt dem Dokument die Portabilität — den ganzen Sinn von Markdown — und erscheint überall dort als wörtlicher Text, wo HTML abgeschaltet ist.
Erwarten, dass eine Leerzeile mehr Abstand macht. Drei Leerzeilen ergeben dasselbe wie eine. Markdown zieht sie zusammen. Brauchst du vertikalen Raum, ist das eine Frage der Gestaltung, nicht des Inhalts.
Häufige Fragen
Warum ignoriert Markdown meinen einzelnen Zeilenumbruch?
Aus Absicht. Markdown behandelt einen einzelnen Zeilenumbruch als Leerzeichen, damit du lange Absätze in der Quelldatei über mehrere Zeilen umbrechen kannst, ohne sie in der Ausgabe zu zerteilen. Für einen echten Umbruch beendest du die Zeile mit zwei Leerzeichen oder einem Backslash; für einen neuen Absatz lässt du eine Leerzeile.
Was ist der Unterschied zwischen zwei Leerzeichen und einem Backslash?
Sie erzeugen exakt dasselbe, ein <br> innerhalb des laufenden Absatzes. Die zwei Leerzeichen sind die ursprüngliche Syntax von 2004, fast überall unterstützt, aber in der Quelle unsichtbar; der Backslash kam mit CommonMark, ist sichtbar und übersteht Editoren, die Leerzeichen am Zeilenende entfernen.
Behandelt GitHub Zeilenumbrüche anders?
Ja, an manchen Stellen. In Issues, Pull Requests und Kommentaren setzt GitHub einen einzelnen Zeilenumbruch als echten Umbruch, dort tut einmal Enter also, was du erwartest. In .md-Dateien in einem Repository folgt es der Standardregel und zieht die Zeilen zusammen. Deshalb verhält sich derselbe Text in einer README anders als in einem Kommentar.
Wie bekomme ich eine Leerzeile zwischen zwei Absätzen?
Eine Leerzeile genügt — Markdown zieht beliebig viele aufeinanderfolgende Leerzeilen zu einem einzigen Absatzumbruch zusammen. Für sichtbar mehr Abstand bräuchtest du HTML oder CSS, und das ist eine Frage der Formatierung, nicht etwas, das Markdown ausdrückt.
Darf ein Absatz auf einer einzigen langen Zeile stehen?
Ja, und viele machen es so. Weil einzelne Zeilenumbrüche als Leerzeichen gelten, macht es für die Ausgabe keinen Unterschied, ob du einen Absatz als eine sehr lange Zeile schreibst oder ihn bei 80 Zeichen umbrichst. Nimm, was sich leichter bearbeiten lässt, und bleib dabei.