Re: Listings: inclusione di intervalli di codice

#27702
Up
0
Down
::

Ho risolto, un po’ alla buona ma ho risolto…
Sono stato fortunato, basta incollare quanto segue nel preambolo…
`\makeatletter
\def\lst@myspace{\\ \dots\phantom{X}\par}
\def\lst@MProcessListing{%
\lst@XPrintToken \lst@EOLUpdate \lsthk@InitVarsBOL
\global\advance\lst@lineno\@ne
\ifnum \lst@lineno>\lst@lastline
\lst@ifdropinput \lst@LeaveMode \fi
\ifx\lst@linerange\@empty
\expandafter\expandafter\expandafter\lst@EndProcessListing
\else
\lst@interrange
\lst@GetLineInterval
\expandafter\expandafter\expandafter\lst@SkipToFirst
\lst@myspace
\fi
\else
\expandafter\lst@BOLGobble
\fi}
\makeatother
`
Incredibilmente posso dire che la modifica (in rosso) al codice originale di listings è farina del mio sacco… 😉

Credo che sarebbe meglio mettere la riga che hai aggiunto sopra la precedente, quella con i tre \expandafter. Servono infatti per espandere \else, mentre così provochi l’espansione di \lst@myspace, che non è ciò che desideri. Può anche darsi che funzioni così, ma non è garantito.

Ciao
Enrico

Go to top