Makro mit mehr als 9 Parametern

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


sLy
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 30. Sep 2009, 17:41

Makro mit mehr als 9 Parametern

Beitrag von sLy »

Ist es möglich ein makro zu schreiben, dass mehr als 9 parameter hat?

mfg
sLy

Schweinebacke

Beitrag 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.

Antworten