von Schweinebacke » Sa 21. Nov 2009, 12:16
Wer soll damit zurecht kommen? Bei mehr als vier Parametern kann sich ohnehin niemand die Reihenfolge merken. keyval, xkeyval, scrbase und wie all die Pakete heißen, die eine key=value-Schnittstelle bereitstellen, sind dann eindeutig die bessere Lösung.
Ansonsten kann man wohl etwas wie:
\newcommand*{\AnweisungmitvielenParameter}[9]{%
\def\ArgA{#1}%
\def\ArgB{#2}%
\def\ArgC{#3}%
\def\ArgD{#4}%
\def\ArgE{#5}%
\def\ArgF{#6}%
\def\ArgG{#7}%
\def\ArgH{#8}%
\def\ArgI{#9}%
\AnweisungmitnichtganzsovielenParametern
}
\newcommand*{\AnweisungmitnichtganzsovielenParametern}[1]{
\def\ArgJ{#1}%
% Und hier können wir nun auf \ArgA bis ArgJ zugreifen
}
machen. Natürlich kann man das auch auf 18 und - mit zusätzlichen Anweisungen - mehr Argumente erweitern.
Die Idee zu obigem Code habe ich aus de.comp.text.tex via Google Groups.
Wer soll damit zurecht kommen? Bei mehr als vier Parametern kann sich ohnehin niemand die Reihenfolge merken. keyval, xkeyval, scrbase und wie all die Pakete heißen, die eine key=value-Schnittstelle bereitstellen, sind dann eindeutig die bessere Lösung.
Ansonsten kann man wohl etwas wie:[code]
\newcommand*{\AnweisungmitvielenParameter}[9]{%
\def\ArgA{#1}%
\def\ArgB{#2}%
\def\ArgC{#3}%
\def\ArgD{#4}%
\def\ArgE{#5}%
\def\ArgF{#6}%
\def\ArgG{#7}%
\def\ArgH{#8}%
\def\ArgI{#9}%
\AnweisungmitnichtganzsovielenParametern
}
\newcommand*{\AnweisungmitnichtganzsovielenParametern}[1]{
\def\ArgJ{#1}%
% Und hier können wir nun auf \ArgA bis ArgJ zugreifen
}
[/code]
machen. Natürlich kann man das auch auf 18 und - mit zusätzlichen Anweisungen - mehr Argumente erweitern.
Die Idee zu obigem Code habe ich aus de.comp.text.tex via Google Groups.