Hallo Herbert,

statt wie in Beitrag #4 und #13 herumzusticheln, könntest Du konstruktiv zeigen, wie man es in solchen Fällen dennoch schaffen könnte, oder auch danach fragen. \expandafter ist ein ganz simpler Befehl, die Mehrfachanwendung lässt es nur scheinbar komplizierter aussehen.

Zitat Zitat von voss Beitrag anzeigen
aber es funktioniert eben bei jeder Menge an Befehlen nicht!
Wie nun schon genannt, funktioniert es nicht bei Befehlen, die nicht expandiert werden. Während \g@addto@macro aus diesem Grund scheitert, kann man die \expandafter-Variante leicht modifizieren, um hierin das Expandieren zu erzwingen.

Zitat Zitat von voss Beitrag anzeigen
Code:
\expandafter\def\expandafter\exists\expandafter{\exists\quad}
das war das Ausgangsproblem und auch da geht deine Lösung nicht!
So modifiziert geht sie:
Code:
\expandafter\def\expandafter\exists\expandafter{\expandafter\mathchar\the\exists\quad}
Zitat Zitat von voss Beitrag anzeigen
Die Verfahren \g@addto@macro ist faktisch das gleiche wie die \expandafter.-Orgie
Dass \g@addto@macro jedoch global wirkt, also über die Grenzen einer Umgebung hinaus, ist ein bedeutsamer Unterschied. So definieren manche Klassen (KOMA) und Pakete eine lokale Variante \l@addto@macro, die hier auch genannt werden dürfte.

Rainer, mit \edef kann man es auch so hinkriegen:
Code:
\edef\exists{\mathchar\the\exists\quad}
Der \the-Trick samt \expandafter ist natürlich eher was für Interessierte, in der Praxis ist es einfacher, wenn man ein neues Makro definiert und mit \let und \renewcommand arbeitet.

Micha, es freut mich, dass Dich die Hintergründe interessieren. Vielleicht schau einmal in diese Liste: plain TeX books. Darunter finde ich das Buch "TeX by Topic" sehr gut zugänglich. Das TeXbuch von Knuth ist natürlich die Referenz und sehr zu empfehlen.

Viele Grüße,

Stefan