Sandwich-Markierung /…/…
Eine Zeile mit Schrägstrich am Anfang und einem weiteren danach wie /ru/del
besagt, dass ru
vor jede kommende Zeile gesetzt werden soll, bis die Zeile del
erreicht ist; die Zeilen /ru/del
und del
werden entfernt. ru
und del
stehen dabei für quasi beliebige Zeichenketten. Das klingt vielleicht verwirrend, ist in der Praxis aber einfach und wird durch die folgenden Beispiele veranschaulicht.
Beispiel: Liste
Der Text
/<> /TOAST
Tomaten
Eier
Mayo
Salatblatt
Meerrettich
TOAST
entspricht genau diesem Text
<> Tomaten
<> Eier
<> Mayo
<> Salatblatt
<> Meerrettich
weil gemäß /<> /TOAST
die Zeichen <>
an jeden Zeilenanfang gesetzt werden, bis die Zeile TOAST
erreicht ist.
Beispiel: Auskommentieren
In diesem Beispiel wird statt eines Wortes ein Emoji als Markierung von Anfang und Ende des Sandwich-Bereiches verwendet. So ist
/%/🙊
Auferstanden aus Ruinen
und der Zukunft zugewandt,
laß uns dir zum Guten dienen,
Deutschland, einig Vaterland.
🙊
äquivalent zu
%Auferstanden aus Ruinen
%und der Zukunft zugewandt,
%laß uns dir zum Guten dienen,
%Deutschland, einig Vaterland.
denn gemäß /%/🙊
wird %
vor jede Zeile gesetzt, bis die Zeile 🙊
erreicht ist.
Beispiel: Quiz
Dieses Beispiel illustriert, dass Sandwich-Markierungen nicht am Absatzanfang stehen müssen, sondern auch am Zeilenanfang innerhalb eines Absatzes stehen können. So ist
Nun, Frau Königin, wie heiß ich?
/{ } /🦋
Kunz
Heinz
Rumpelstilzchen
🦋
äquivalent zu
Nun, Frau Königin, wie heiß ich?
{ } Kunz
{ } Heinz
{ } Rumpelstilzchen
denn laut /{ } /🦋
wird { }
vor jede Zeile gesetzt, bis die Zeile 🦋
erreicht wird.
Beispiel: Text
Dieses Beispiel illustriert, dass Sandwich-Markierungen nicht nur besondere Aneamal-Zeichen, sondern auch ganz normalen Text an den Anfang jeder folgende Zeile stellen können. In diesem Fall sind alle vier Zeilen im Sandwich-Bereich zudem leer. So ist
/Ich werde keine Kreide verschwenden./Tafel
Tafel
äquivalent zu
Ich werde keine Kreide verschwenden.
Ich werde keine Kreide verschwenden.
Ich werde keine Kreide verschwenden.
Ich werde keine Kreide verschwenden.
Beispiel: Quelltext
Dieses Beispiel illustriert, dass man das an den Zeilenanfängen zu wiederholende Zeichen auch gleichzeitig als Endmarkierung verwenden kann. So ist
/|/|
function is_escaped ($string, $pos) {
$chk = $pos - 1;
while (isset ($string[$chk]) and $string[$chk] === '\\') $chk--;
return ($chk & 1) === ($pos & 1);
}
|
äquivalent zu
|function is_escaped ($string, $pos) {
| $chk = $pos - 1;
| while (isset ($string[$chk]) and $string[$chk] === '\\') $chk--;
| return ($chk & 1) === ($pos & 1);
|}
weil /|/|
zufolge |
vor jede Zeile gesetzt wird, bis die Zeile |
erreicht wird.
Beispiel: Tabelle
Auch dieses Beispiel verwendet leere Markierungen. Damit wird hier eine „zweidimensionale Zuordnungsliste“ – auch als Tabelle bekannt – zusammengefrickelt. So ist
/<Stadt>/
<A> Addis Abeba
<B> Berlin
<C> Canberra
/<Land>/
<A> Armenien
<B> Bhutan
<C> Costa Rica
/<Fluss>/
<A> Amazonas
<B> Brahmaputra
<C> Colorado
äquivalent zu
<Stadt><A> Addis Abeba
<Stadt><B> Berlin
<Stadt><C> Canberra
<Land><A> Armenien
<Land><B> Bhutan
<Land><C> Costa Rica
<Fluss><A> Amazonas
<Fluss><B> Brahmaputra
<Fluss><C> Colorado
was im Übrigen wie folgt dargestellt wird
A | B | C | |
---|---|---|---|
Stadt | Addis Abeba | Berlin | Canberra |
Land | Armenien | Bhutan | Costa Rica |
Fluss | Amazonas | Brahmaputra | Colorado |