furbenzio” post=66966Ho cominciato ad usare questi nuovi comandi e li trovo molto utili. Grazie. Scrivo per sapere se si possa introdurre un’altra variabile che potrebbe essere utile a tutti. Mi riferisco al fatto che quando si citano più articoli si usa la dicitura “artt. 24 c.c. e seguenti” oppure “artt. 24-30 c.c.”, con la doppia “t”. Si può fare questa modifica? io non ne sono capace!
`\makeatletter
\NewDocumentCommand{\cccpc}{m s t+ m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art\IfBooleanT{#3}{t}.~#4\IfNoValueF{#5}{, co.~#5,}~#1}%
}
\makeatother`
Uso (con le altre due definizioni già date):
\cc+{2-3} (senza enfasi) \cc*+{2-3} (con enfasi)
Con xparse è molto facile definire comandi con varianti e argomenti opzionali. La “s” indica l’usuale asterisco, “t+” indica che la variante è indicata con +; la presenza si controlla con \IfBooleanTF{#n}, dove n è il numero dell’argomento. Si può usare anche \IfBooleanT, per dare solo il ramo “vero” o \IfBooleanF per dare solo il ramo “falso”. Analogamente \IfNoValueTF dice se un argomento opzionale non è stato inserito (il numero di argomento corrisponde a quelli dichiarati come “o”).
Versione automatica
`\makeatletter
\NewDocumentCommand{\cccpc}{m s >{\SplitArgument{1}{-}}m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{\cccpcart#3\IfNoValueF{#4}{, co.~#4,}~#1}%
}
\NewDocumentCommand{\cccpcart}{mm}
{art\IfNoValueTF{#2}{.~#1}{t.~#1\mbox{-}#2}}
\makeatother`
Ora \cc{2-3} dà la variante automaticamente. 🙂 Niente +. 🙂
Ciao
Enrico