Archiv verlassen und diese Seite im Standarddesign anzeigen : newcommand: Mehr als 9 Parameter?
Hallo zusammen,
ich habe eine Frage, die ich auch nach eingehender Suche hier nicht selbst beantworten kann:
Ich möchte gern neue Befehle generieren (mit \newcommand{\BefehlA}[10]{bla #1 bla #2 bla #3 ...}), innerhalb derer ich aber mehr als 9 Parameter zu übergeben habe. Jetzt habe ich gelesen, dass man höchstens 9 Paramter nutzen kann. Kann man diese Beschränkung irgendwie umgehen? Oder gibt es einen anderen Befehl, der das kann?
Vielen Dank im Voraus :)
Stefan_K
13-02-2008, 18:55
Hallo Ninchen,
TeX erlaubt für Makros nur 9 Parameter, das gilt auch für \def.
Ich schätze, das muss man wohl ganz anders lösen. Zur Not mit zusätzlich global deklarierten Makros, die vor Aufruf des Befehls mit Werten belegt werden.
Viele Grüße,
Stefan
Hallo Stefan,
vielen Dank für die Antwort. Ja, das hatte ich schon befürchtet :rolleyes: Naja, ich überlege mir etwas anderes, dürfte auch nicht allzu viele Schwierigkeiten machen.
Dann weiß ich jetzt wenigstens Bescheid :D
Viele Grüße
Hallo zusammen,
ich habe eine Frage, die ich auch nach eingehender Suche hier nicht selbst beantworten kann:
Ich möchte gern neue Befehle generieren (mit \newcommand{\BefehlA}[10]{bla #1 bla #2 bla #3 ...}), innerhalb derer ich aber mehr als 9 Parameter zu übergeben habe. Jetzt habe ich gelesen, dass man höchstens 9 Paramter nutzen kann. Kann man diese Beschränkung irgendwie umgehen? Oder gibt es einen anderen Befehl, der das kann?
das ist kein Problem, du musst nur die ersten neun zwischenspeichern.
\makeatletter
\def\Macro#1#2#3#4#5#6#7#8#9{%
\def\m@eins{#1}%
\def\m@Zwei{#2}%
...
\Macro@zwei%
}
\def\Makro@zwei#1#2#3#4{% bsp für 13 Parameter
% hier kennst du jetzt über \m@eins... die ersten neun und
% mit #1 #2 #3 #4 die nächsten 4
}
\makeatother
Herbert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.