
Angenommen, ich hätte gern einen Befehl, der Text A
unter Text einfügt B
. Ich möchte meine Befehlsargumente jedoch nicht in der \commandname{A,B}
Form schreiben. Stattdessen würde ich gern Code wie diesen schreiben: \put A \under B
Sind solche Konstrukte mit TeX-Befehlen möglich und wie erstellt man sie?
Antwort1
Ja, das können Sie, aber Sie sollten es nicht tun:
\def\put#1\under#2{...something with #1 and #2...}
Man kann es so nennen:
\put A\under B
oder
\put A\under {BC}
Klammern lassen sich nicht vermeiden, wenn das zweite Argument aus mehr als einem Token besteht.
Dann werden Sie es bald bereuen, weil Sie feststellen werden, dass \put
es sich bereits um einen LaTeX-Befehl handelt und dass Sie ihn neu definieren. Wenn Sie Plain TeX meinen, gibt es kein Problem.
Beachten Sie, dass, wenn Sie anrufen
\put A \under B
Dann #1
folgt A
ein Leerzeichen am Ende, das abhängig von verschiedenen Faktoren von Bedeutung sein kann oder nicht.
Lesen Sie mehr überabgegrenztMakroargumente in TeX nach Thema ( texdoc texbytopic
auf Ihrem System oderdieser Link) oder im TeXbook.