egreg9″ post=84302Una dritta. Invece di [tt]\ifx\check\mark[/tt] puoi dire
`\ifnum\pdfstrcmp{#1}{mark}=0`
Se vuoi un codice che non dipenda da pdftex, basta caricare pdftexcmds e puoi usare
`\ifnum\pdf@strcmp{#1}{mark}=\z@`
(naturalmente occorre [tt]\makeatletter[/tt]). In questo modo funziona con pdftex, xetex e luatex (grazie al solito Heiko Oberdiek).Ciao
Enrico
Grazie mille per la dritta 🙂 in effetti così si evitano definizioni del tutto inutili.
illinguista1972″ post=84312Ma non pensate che per una banale casella con la spunta bastasse guardare un simbolo già pronto? 😉
Ciao
Tommaso
Assolutamente no! 😉 E poi spunte con sfumature così belle dove le peschi? 😆
Altra ipotesi. Metti caso che l’utente voglia avere delle spunte “date a mano”, che non compaiano sempre nella medesima posizione: come si può fare? Beh.. con TikZ è abbastanza facile: `
\documentclass{article}
\usepackage{amssymb,tikz,pdftexcmds}
\tikzset{box/.style={
minimum size=0.225cm,
inner sep=1pt,
},
insert random mark/.style={
append after command={%
node[inner sep=0pt,
xshift={rand*0.02cm},
yshift={rand*0.02cm}]
at (\tikzlastnode.center){$\checkmark$}
}
},
}
\makeatletter
\newcommand{\tikzrealcheckmark}[1][mark]{%
\ifnum\pdf@strcmp{#1}{mark}=\z@%
\tikz[baseline=-0.5ex]\node[box,insert random mark]{$\square$};%
\fi%
\ifnum\pdf@strcmp{#1}{no mark}=\z@%
\tikz[baseline=-0.5ex]\node[box]{$\square$};%
\fi%
}
\makeatother
\begin{document}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\vspace{1ex}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\vspace{1ex}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\vspace{1ex}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\vspace{1ex}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\vspace{1ex}
\tikzrealcheckmark\quad\tikzrealcheckmark[no mark]\par
\end{document}
` Il risulato è:
[attachment=673]Senzanome_2013-04-16.jpg[/attachment]
Per motivi di tempo ho usato direttamente [tt]\square[/tt] per il riquadro e le spunte non sono “sfumate”; sia ora che nel primo esempio riportato il risultato non è ottimale: le spunte sono riprodotte “sotto” il riquadro, anche se con gli esempi solo in nero non si nota. Per renderlo accettabile, ossia riprodurre le spunte “sopra” il riquadro, è necessario del duro lavoro perché: a) è necessario introdurre la libreria [tt]backgrounds[/tt], b) disegnare sopra un [tt]path[/tt] esistente richiede un minimo di cautela (le opzioni – colore ecc..- sono già isolate grazie a [tt]pgfinterruptpath[/tt], ma occorre sostituire tutta la costruzione del nodo [tt]\node[box,…][/tt] con l’equivalente in [tt]\draw[/tt] altrimenti la libreria [tt]backgrounds[/tt] non avrebbe effetto) e c) probabilmente sarebbe molto complicato sfumare e rendere mobile le spunte allo stesso tempo.
Ciao
Claudio