Re: Nuovo comando con argomenti opzionali

#91699
Up
0
Down
::


Anche secondo me la soluzione ideale è usare opzioni “chiave-valore”. Un esempio con pgfkeys:`
\documentclass{memoir}
\usepackage{pgfkeys,pdftexcmds}
\pgfkeys{/mio cmd/.cd,
primo/.store in=\primo,
primo={},
secondo/.store in=\secondo,
secondo={}
}

\makeatletter
\newcommand{\ncomando}[2][]{
{% da notare il gruppo
\pgfkeys{/mio cmd/.cd,#1}
\ifnum\pdf@strcmp{\primo}{}=\z@%
\ifnum\pdf@strcmp{\secondo}{}=\z@%
#2
\else
\secondo\ – #2
\fi%
\else%
\ifnum\pdf@strcmp{\secondo}{}=\z@%
\primo\ – #2
\else%
\primo\ – \secondo\ – #2
\fi%
\fi%
}% end gruppo
}
\makeatother

\begin{document}
\ncomando{terzo}

\ncomando[primo=primo]{terzo}

\ncomando{terzo} % funziona perché primo è locale quindi la precedente definizione non viene propagata

\ncomando[secondo=secondo]{terzo}

\ncomando[primo=primo, secondo=secondo]{terzo}

\ncomando[secondo=secondo, primo=primo]{terzo}

\end{document}
` Il risultato:

[attachment=891]ScreenShot2014-01-20at3.23.57PM.png[/attachment]

Ciao
Claudio

Attachments:
You must be logged in to view attached files.

Go to top