Andreas Tenzer Hallo zusammen, ich habe Probleme mit dem Kommando "kommandorahmen": Die Syntax $[kommandorahmen Test a b]$ stellt dem Textbaustein "Test" ein a voran und ein b hinterher. Das klappt gut! Aber: wenn ich dies in ein if-Kommando einbaue, funktioniert da nichts mehr, auch wenn ich die geschweiften Klammern berücksichtige: $[if pv zs_equals Testus ${kommandorahmen Test a b}$ '']$ Liegt das an einer falschen Syntax? Hat jemand eine Idee für einen Workaround? Könnte der Bug ggfs. gefixt werden? Vielen Dank für die Unterstützung und viele Grüße aus Augsburg Andreas Tenzer
Steven Bürger Das Problem sind vermutlich die Leerzeichen im inneren Platzhalter. Wenn Sie den noch mit Hochkommata einrahmen, sollte es gehen, also mit $[if pv zs_equals Testus '${kommandorahmen Test a b}$']$
Andreas Tenzer Super! Nun gibt es aber weiterhin folgendes Problem: wenn ich eine Leerzeile erstellen will durch \n, zerhaut es leider das Kommando: $[if pv zs_equals Testus '${kommandorahmen pn a \n}$' 2]$ Haben Sie hier noch eine Idee? Kann ich die Leerzeile irgendwie anders abbilden?
Steven Bürger Eine Möglichkeit wäre, den kommandorahmen-Platzhalter als Textbaustein zu hinterlegen und dann im if-Platzhalter einfach diesen neuen Textbaustein aufzurufen. Es sollte aber auch möglich sein, statt der Hochkomma-Notation die Leerzeichen durch Unterstrich zu ersetzen, also $[if pv zs_equals Testus ${kommandorahmen_pn_a_\n}$ 2]$
Andreas Tenzer $[if pv zs_equals Testus ${kommandorahmen_pn_a_\n}$ 2]$ auch mit den Unterstrichen funktioniert das Kommando ausgelöst durch \n leider nicht (ohne \n geht es gut, mit leider nicht)
Steven Bürger Stimmt, es muss $[if pv zs_equals Testus ${kommandorahmen_pn_a_\\n}$ 2]$ lauten. Ab Version 159 wird es auch möglich sein, Platzhalter mit den üblichen Klammern $[ und ]$ ineinander zu verschachteln. Dann sollten solche Verrenkungen nicht mehr nötig sein.
Andreas Tenzer super! So passt das! Gibt es eine Erklärung für \\n? Das kann ich an der Stelle nicht nachvollziehen....
Steven Bürger Bei der Ausführung des if-Kommandos wird die Ersetzung \\ -> \ gemacht und bei der Ausführung von Kommandorahmen dann \n -> Zeilenumbruch. Da das aber ziemlich schwer zu durchblicken ist, der neue Ansatz mit der Verschachtelung ...