Seite 1 von 1

newcommand mit unbestimmter Anzahl Parameter

Verfasst: Di 15. Aug 2017, 10:11
von olpo
Hallo,

ich würde gerne ein newcommand erstellen, das mit einer unbestimmten Anzahl von Parametern arbeitet.

Konkret soll ein \newcommand{\siehe} entstehen, dem entweder einer oder mehrere Parameter übergeben werden können.
Wenn nur ein Parameter übergeben wird (Bsp: \siehe{kapitel:eins}) soll die Ausgabe so aussehen: "Siehe Kapitel 1".
Mit mehreren Parametern (Bsp: \siehe{kapitel:eins}{kapitel:zwei}) soll die Ausgabe so aussehen: "Siehe Kapitel 1, 2".

Weiß jemand wie ich sowas bauen kann?
\newcommand{\siehe}[1]{Kapitel~\ref{#1}}
Danke.

Verfasst: Di 15. Aug 2017, 10:20
von iTob
Benutz doch einfach den Befehl \cref aus dem Paket cleveref. Der macht selbständig das es du – vermutlich – erreichen willst ;-)

Verfasst: Di 15. Aug 2017, 10:41
von Gast
Für so etwas verwendet man normalerweise (neben dem einen festen Parameter) optionale Parameter. Siehe dazu \newcommand im [d]usrguide[/d] oder die deutlich erweiterten Möglichkeiten von xparse.

Verfasst: Di 15. Aug 2017, 11:12
von iTob
Optionale Argumente machen hier nicht so viel Sinn, weil es davon ja normalerweise nur eins gibt und man sich ganz schön verrenken muss wenn man mehr als neun haben will. Besser ist – wenn man es den unbedingt selber bauen will – ein obligatorisches Argument mit ner Komma-getrennten Liste zu nehmen …