Ciao a tutti,
il pacchetto listings (con l’opzione showspaces=true), permette di evidenziare gli spazi
`\lstinline! !
`
A me interesserebbe evidenziare uno spazio di lunghezza arbitraria (per la precisione 0.166em; poi 1em; poi 2em).In effetti si potrebbe usare il comando
`\newcommand{\demowidth}[1]{\rule{0.3pt}{1.3ex}\rule{#1}{0.3pt}\rule{0.3pt}{1.3ex}}`
che non è malaccio, ma che stona con il risultato di listings (che prefersico).
Non userei quel sistema, ma forse due sbarrette con una freccia a due punte e, se ci sta, la lunghezza scritta in mezzo (molto in piccolo)
`\makeatletter
\newcommand\lrsmallarrfill{$\m@th\scriptscriptstyle
\mkern2mu\mathord\leftarrow\mkern -7mu
\cleaders\hbox{$\scriptscriptstyle\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu\mathord\rightarrow\mkern2mu$}
\newcommand\lsmallarrfill{$\m@th\scriptscriptstyle
\mkern2mu\mathord\leftarrow\mkern -7mu
\cleaders\hbox{$\scriptscriptstyle\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu\smash-$}
\newcommand\rsmallarrfill{$\m@th\scriptscriptstyle
\smash-\mkern-7mu
\cleaders\hbox{$\scriptscriptstyle\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu\mathord\rightarrow\mkern2mu$}
\newcommand{\showspace}{\@ifstar{\@showspaces}{\@showspace}}
\def\@showspace#1{%
\hbox to#1{\rlap{$\scriptscriptstyle|$}%
\ifdim#1>9pt\lrsmallarrfill\else\hfill\fi\llap{$\scriptscriptstyle|$}}}
\def\@showspaces#1{%
\hbox to#1{\rlap{$\scriptscriptstyle|$}%
\ifdim#1>9pt\lsmallarrfill{\TINY#1}\rsmallarrfill\else\hfill\fi
\llap{$\scriptscriptstyle|$}}}
\def\TINY{\tiny\spaceskip=.1em}
\makeatother`
Chiamerai \showspace{1 cm} oppure \showspace*{1 cm} se vuoi che venga indicata la dimensione (lascia uno spazio fra numero e unità di misura).
Puoi indicare spazi da 2 pt in su; se vuoi indicare la misura, devi fare esperimenti per vedere il minimo. Fino a 9pt le frecce non compaiono (non ci starebbero proprio).
Ciao
Enrico