Re: listing e spaziatura nell’elenco dei codici

#34262
Up
0
Down
::

Salve,

sto scrivendo la tesi in Latex e ho scelto di produrre un elenco dei codici utilizzati mediante il package listings. Scrivendo alcuni codici ho notato che nella list of listings, quando la numerazione raggiunge il 10, si ha una sovrapposizione del carattere di numerazione con il primo carattere del titolo del codice.

Ad esempio se ho il decimo (undicesimo, dodicesimo, ecc) codice definito come

`
\begin{lstlisting}[frame=lines, caption={Apertura file},captionpos=b]
fdata = fopen ( data_string , 'wt');
\end{lstlisting}
`

quando stampo l’elenco dei codici, lo “zero” di A.10 (ad esempio per i codici in appendice) è sovrapposto alla “A” di “Apertura file”. Avrei pseudo-risolto introducendo uno \hspace nella capition all’inizio, però volevo sapere se esisteva una soluzione meno smanettona e piu’ fine (nonché efficiente, visto che dovrei inserire lo spazio ad ogni codice).

Devi aumentare lo spazio riservato al numero; la definizione usuale è
`\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}`
Quindi penso che dovrebbe bastare scrivere nel preambolo, dopo aver caricato listings
`\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{2.8em}{#1}{#2}}
\makeatother`
Il terzo argomento è quello che dà lo spazio riservato al numero; lo aumento di mezzo em che è la larghezza delle cifre.

Ciao
Enrico

Go to top