Seite 1 von 1

Makro mit mehr als 9 Parametern

Verfasst: Fr 20. Nov 2009, 19:42
von sLy
Ist es möglich ein makro zu schreiben, dass mehr als 9 parameter hat?

mfg
sLy

Verfasst: Sa 21. Nov 2009, 12:16
von Schweinebacke
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.