OldClaudio” post=81913
Aggiungo una proposta di modifica di topcoman.sty. Il comando \obeyspaces alla riga 71 dovrebbe essere sostituito da
\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %
Questo cambierebbe il significato dello spazio attivo solo nell’ambito del gruppo aperto dal comando \listing.
La riga 77 dovrebbe essere rimossa.
Ho provato a inserire il tuo codice in topcoman.sty, ma funziona e non funziona…:mrgreen:
funziona nel senso che rispetta gli spazi; non funziona nel senso che inserisce il “visible space”, il carattere 32 del font cmtt??, invece di uno spazio invisibile ma pur sempre presente, come faceva prima.
Ho provato a creare una macro per far si che il \let~ della tua definizione diventasse equivalente alla macro che inserisce uno fantasma di 0 (zero, la cifra, ma con il tt non c’è differenza con O, la lettera o maiuscola, per quel che riguarda la larghezza dei \pantom). Niente, continua a dare lo spazio visibile.
Quindi capisco bene che il tuo comando aggiusta ABC, ma, purtroppo da una brutta botta a topcoman che lo rende inutilizzabile. Per retrocompaitbilità non posso elimanre \listing; naturalmente potrei ridefinirlo in termini del pacchetto listing, ma preferirei un tacon che pur mettendo a posto ABC non distrugga tpcoman.
Ciao e grazie
Claudio
Sarà, ma il seguente documento funziona perfettamente (chiamalo [tt]toplist.tex[/tt]):
`\documentclass{toptesi}
{\obeyspaces\global\let \space}
\usepackage{etoolbox}
\tracingpatches
\patchcmd\programma{\obeyspaces}
{\obeyspaces\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ }
{}{}
\begin{document}
This has
spaces
\listing{toplist.tex}
\end{document}`
Probabilmente nel mio suggerimento avevo omesso [tt]\obeyspaces[/tt] che certamente serve. Dunque la riga 71 deve diventare
`\obeyspaces\begingroup\lccode`~=`\ \lowercase{\endgroup\let~}\ %`
Ciao
Enrico