<\body> <\explain> <|explain> Dieses Konstrukt setzt nur dann, wenn die Bedingung erfüllt ist. Wenn ein optionales spezifiziert wurde, dann wird diese nur gesetzt, wenn die Bedingung falsch ist. <\remark> Man sollte beachten, das Verwendung von Bedingungen fehleranfällig ist. Das kommt davon, dass die Erreichbarkeit von Argumenten nicht vorab getestet werden kann. In dem Makro\ <\tm-fragment> |>>> ist das Makro-Argument dann und nur dann erreichbar, wenn > wahr ist. Das kann aber vorher nicht getestet werden. Bestimmte Editier-Operationen, wie Suchen oder Rechtschreibprüfung kann eine falsche Bestimmung der Erreichbarkeit dazu führen, dass der Cursor in nicht erreichbare Positionen gesetzt wird oder dass bestimmte Konstrukte ignoriert werden. Wir wollen dieses Verhalten des Editors verbessern. Bis dahin ist es besser, Bedingungen zu vermeiden. <\remark> Die Bedingungs-Konstrukte sind nur für Zeileninhalt voll implementiert. Wenn man Bedingungen im Blockkontext braucht, dann muss man den Wenn-ja-Fall und den Wenn-nein-Fall getrennt in Makros definieren und mit einem unbenannten Makro die Bedingung einführen. Z.B.: <\tm-fragment> >>>> >>>> ||>|>>>> <\explain> >|cond-n|body-n> >|cond-n|body-n|else-body> <|explain> Diese Befehle sind äquivalent zu <\tm-fragment> ||>>|>>> ||>>||>>> <\explain> <|explain> Solange die Bedingung erfüllt ist, wird ausgeführt. Beispielsweise erzeugt der folgende das Makro <\tm-fragment> ||>|, |1>>>>>>>> aus > dies: <\tm-fragment> ||>|, |1>>>>>|> <\initial> <\collection>