Re: Nuovo comando con argomenti facoltativi

#82836
Up
0
Down
::

Marco87″ post=82209Ciao a tutti,

tempo fa, su questo forum, mi pare di aver letto la definizione che un utente aveva fatto di un nuovo comando che accettava un (o più, non ricordo) argomento facoltativo. Purtroppo non riesco più a trovare quella discussione. Ho provato anche a cercare sulle guide (Arte e Guida GuIT), ma non ho capito come fare quello che vorrei.

Vorrei creare un comando che accetta, diciamo, 5 argomenti. Uno o due di questi dovrebbe essere facoltativo. Nel caso in cui questi argomenti facoltativi non venissero usati, allora il comando dovrebbe usare dei valori predefiniti. È possibile fare questo?

Grazie mille e buon week end,
Marco.

Certo. Per un solo argomento facoltativo al primo posto c’è il semplice
`\newcommand{\foo}[3][default]{#1–#2–#3}`
Così [tt]\foo{A}{B}[/tt] stamperà “default–A–B”, mentre [tt]\foo[X]{A}{B}[/tt] stamperà “X–A–B”.

Per più argomenti facoltativi puoi usare xparse:
`\usepackage{xparse}
\NewDocumentCommand{\foo}{ O{def1} m O{def2} m } {#1–#2–#3–#4}`
Le possibilità sono
`\foo{A}{B}
\foo[X]{A}{B}
\foo{A}[Y]{B}
\foo[X]{A}[Y]{B}`
Ma meno argomenti facoltativi usi meglio vivi. 🙂

Ciao
Enrico

Go to top