Newsgroup: it.comp.software.tex
Titolo: listings

Salve a tutti.
Sto usando il package listings per includere in un documento del codice C++; 
a tale scopo ho creato questo environment:
\lstnewenvironment{cpp}[2]
{\lstset{
    language=c++, 
    frame=TB, 
    caption={[#1]{\textit{(#1)} #2}},
    stringstyle=\ttfamily
  }
}
{}
Praticamente ogni pezzo di codice che riporto nel documento viene racchiuso 
in una sorta di frame, di cui specifico anche il titolo, e posso creare una 
lista di tutti i listati presenti nel documento.
Il problema e` che se un certo listato e` troppo lungo, o viene situato alla 
fine della pagina, viene spezzato in piu` pagine: io vorrei che all'inizio 
di ogni pagina venga specificato che il codice e` una continuazione della 
pagina precedente. C'e` modo di farlo direttamente tramite il package 
listings? O, in alternativa, esiste un environment generico che faccia una 
cosa del genere, in modo tale che posso poi usare il listings solo per il 
typesetting del codice?
Grazie a tutti, ciao,
Cecco

Era una notte buia e tempestosa e *Traffic Jammer* disse:
8<----[cut]
:: Il problema e` che se un certo listato e` troppo lungo, o viene situato
:: alla fine della pagina, viene spezzato in piu` pagine: io vorrei che
:: all'inizio di ogni pagina venga specificato che il codice e` una
:: continuazione della pagina precedente. C'e` modo di farlo direttamente
:: tramite il package listings? O, in alternativa, esiste un environment
:: generico che faccia una cosa del genere, in modo tale che posso poi
:: usare il listings solo per il typesetting del codice?
Dopo aver letto bene la documentazione del pacchetto "listings", noterai che
è possibile numerare le linee di codice e anche "chiudendo" il frame
corrente (al termine della pagina) è possibile aprirne uno nuovo (sulla
pagina successiva) riprendendo la numerazione delle linee di codice dal
punto in cui è stata interrotta.
--
*Emanuele*
 (¯`·.¸(¯`·.¸( 
www.GuIT.it
 )¸.·´¯)¸.·´¯)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Gruppo Utilizzatori Italiani di TeX
~~~~~~~~~~~~~~~~~~~~~~~~~~~

 punto in cui �stata interrotta.
Non so se ho capito bene, ma forse tu intendi dire che posso suddividere un 
listato in due (o piu`) blocchi diversi, indicando lo stesso valore per il 
parametro name? Se e` cosi`, in questo modo dovrei spezzare a mano tutte le 
parti di codice interessate: io avrei bisogno di qualcosa che lo fa in 
automatico.
Ciao,
Cecco

Era una notte buia e tempestosa e *Traffic Jammer* disse:
:: Non so se ho capito bene, ma forse tu intendi dire che posso
:: suddividere un listato in due (o piu`) blocchi diversi, indicando lo
:: stesso valore per il parametro name?
Sì, proprio così.
:: Se e` cosi`, in questo modo dovrei
:: spezzare a mano tutte le parti di codice interessate: io avrei bisogno
:: di qualcosa che lo fa in automatico.
Anche io ne avrei avuto bisogno quando ho utilizzato il pacchetto listings,
ma ho dovuto accontentarmi di "spezzare a mano tutte le parti di codice
interessate".
Se riesci a risolvere il problema secondo le tue esigenze, potresti
gentilmente comunicare la soluzione anche qui sul NG?  Grazie.


 gentilmente comunicare la soluzione anche qui sul NG?  Grazie.
Per il momento ho trovato il package framed, che chiude e riapre 
automaticamente il frame alla fine della pagina: non permette pero` di 
aggiungere del testo all'inizio di ogni frame. Se ti interessa dargli 
un'occhiata lo trovi qui`:
http://www.ctan.org/tex-archive/macros/latex/contrib/other/misc/framed.sty
Ciao,
Cecco