Re: Come si usa il pachetto xkeyval

#22140
Up
0
Down
::

Prof scusa se ti rompo le scatole amche di domenica,

dato
` \define@key[]{}{}[]{}`

Ho provato a scrivere
`\define@key{scatola}{rulecolor}[black]{\def\scatola@rulecolor{\color{#1}}}
\define@key{scatola}{textcolor}[black]{\def\scatola@textcolor{\color{#1}}}`

al posto di
`\define@key{scatola}{rulecolor}{\def\scatola@rulecolor{\color{#1}}}
\define@key{scatola}{textcolor}{\def\scatola@textcolor{\color{#1}}}
\setkeys{scatola}{textcolor=black,rulecolor=black}%al posto delle due successive
%\def\scatola@rulecolor{\color{black}}
%\def\scatola@textcolor{\color{black}}`

ma dà errore. Quale è il ruolo di []? Serve a tutt’altro?

Serve ad assegnare un valore se si specifica solo la chiave senza il valore. Di solito si usa con true e false, ma non solo. Quindi puoi scrivere
`\newenvironment{scatola}[1][]
{\setkeys{scatola}{textcolor,rulecolor,#1}%
\par\scatola@rulecolor%
\hrule\vskip3pt\begingroup\scatola@textcolor}
{\endgroup\vskip3pt\hrule}
\define@key{scatola}{rulecolor}[black]{\def\scatola@rulecolor{\color{#1}}}
\define@key{scatola}{textcolor}[black]{\def\scatola@textcolor{\color{#1}}}`
che ti dà il vantaggio di avere il default in un posto ben determinato.

Ciao
Enrico

Go to top