Qualcuno sa spiegarmi perché nella definizione di una picture non mi accetta \textwidth???
`\begin{picture}(\textwidth,2)
\put(0,1){\line(1,0){\textwidth}}
\end{picture}`
Perché \textwidth è una lunghezza e non un numero. I numeri che specifichi nell’ambiente picture vanno interpretati come moltiplicatori della lunghezza \unitlength.
Se \unitlength ha il suo valore usuale (1 pt), puoi estrarre facilmente il fattore che ti serve con
`\makeatletter
\newcommand{\textwidthfactor}{\strip@pt\textwidth}
\makeatother`
e usare \textwidthfactor invece di \textwidth. Ma se desideri solo disegnare un filetto che occupi la giustezza (una riga orizzontale, per intenderci), basta scrivere
`\hrule`
fra due righe vuote.
Se invece giochi con \unitlength, la faccenda è leggermente più complicata.
Ciao
Enrico