> Wo liegt hier der Fehler?
LaTeX expandiert Befehle in Optionen mehrmals. Bei nicht-robusten
Befehlen kracht das in der Regel.
Mögliche Lösungen:
- Die Expansion manuell verhindern:
\usepackage[alignment=\noexpand\noexpand\noexpand\raggedleft]{mytest}
Nachteil: Hässlich und "hackish"
- Befehl robust machen:
\usepackage{etoolbox}
\robustify{\raggedleft}
Nachteil: muss für jeden Befehl erneut wiederholt werden, verändert
die Definition der Befehle
- Befehle in Optionen vermeiden:
\usepackage[alignment=raggedleft]{mytest}
und dann
\@nameuse{\ML@alignment}
Nachteil: Funktioniert nur für einzelne Befehle, nicht konsistent zur
üblichen Verwendung der Befehle
- Einen getrennten \setup…-Befehl für das Paket schreiben (so wie
\hypersetup, \KOMAoptions…)
Nachteil: Der Befehl muss vom Benutzer explizit verwendet werden; das
Paket muss so geschrieben sein, dass es Änderungen nach dem Laden
erlaubt
Ich tendiere in der Regel stark zu der vierten Lösung, die auch andere
Probleme mit Optionen (z.B. die automatische und oft überraschende
Übernahme von Klassenoptionen oder die Möglichkeit von Optionen-Clashes)
vermeidet. Es ist auch problemlos möglich, Schlüssel-Wert-Paare sowohl
im Setup-Makro als auch als Option zuzulassen.
--
Change “LookInSig” to “tcalveu” to answer by mail.