2009-06-11 12 views
37

Ho un problema riguardante il pacchetto di elenchi in lattice. Ho bisogno di incorporare un codice sorgente del seguente documento XML http://www.sparxsystems.com.au/downloads/profiles/EP_Extensions.xml nell'appendice della mia tesi di laurea. Il problema è che, non importa quali opzioni passi al pacchetto, non riesco a trovarlo nella pagina. Le righe nell'elenco sono troppo lunghe e il pacchetto di elenchi non le avvolge, il che sembra strano ... Quale combinazione di opzioni farà il trucco?Come forzare il ritorno a capo nel pacchetto di annunci?

Al momento io uso le seguenti istruzioni lstset:

\lstset{ 
breakindent=0em, 
language=XML, 
basicstyle=\footnotesize, 
numbers=left, 
numberstyle=\footnotesize, 
stepnumber=2, 
numbersep=5pt, 
backgroundcolor=\color{white}, 
showspaces=false, 
showstringspaces=false, 
showtabs=false, 
frame=single, 
tabsize=2, 
captionpos=b, 
breaklines=true, 
breakatwhitespace=true, 
breakautoindent=true, 
escapeinside={\%*}{*)}, 
linewidth=\textwidth 
} 

Il che, senza altre opzioni impostate, e combinato con il seguente comando:

\lstinputlisting{EP_Extensions.xml} 

liste di origine del file dato al seguente output: alt text

risposta

4

Tutto quello che posso fare è puntare a the listings docs e suggerire che c'è una sezione denominata "Margini e forma della linea". Sono queste opzioni tra quelle che hai provato?

In particolare vedo le opzioni con nomi come linewidth, breaklines, e breakautoindent che suggerisce che cetainly listings supporta le vostre esigenze.

+0

Ho provato ogni combinazione di essi a cui potevo pensare, e non funziona. – Adam

+2

Hmmm ... Sospetto che ci sia poco che possiamo fare per voi senza un codice da guardare. – dmckee

2

Non è una buona risposta, ma un'idea è quella di racchiudere il codice sorgente prima di includerlo. Se sei su Linux, per questo puoi usare il comando fold. Chiaramente questo funziona meglio se il testo è in un font a larghezza fissa, che consiglierei in ogni caso per gli elenchi di codici.

51

Ho appena avuto questo problema ...

breaklines lavorato per me, anche se si ha bisogno di impostare a true - il valore predefinito è falso:

\lstinputlisting[style=Python, 
    caption=My Class, 
    label={mine.py}, 
    breaklines=true, 
    ]{../python/mine.py} 

è più o meno quello che ho usato

+0

Un elenco completo di opzioni è disponibile su https://en.wikibooks.org/wiki/LaTeX/Packages/Listings –

7

ho avuto questo problema e questa pagina ranghi altamente su google ecco era la soluzione per me:

ho avuto il seguente inserimento: \usepackage[none]{hyphenat} w che causa il problema sopra descritto. Lo stavo usando per risolvere il problema del latex che rompe automaticamente le linee nel mezzo di una parola, che in alcune circostanze sembra davvero stupido.

Dopo una lunga ricerca di un'alternativa a questa soluzione, non ho trovato nulla di adatto e corretto per le linee spezzate correttamente ma la sillabazione mal posizionata.

+0

Grazie! Ho avuto lo stesso identico problema, e non riuscivo a capire perché gli annunci non avrebbero rotto le mie linee anche con breaklines = true. Mi hai appena risparmiato un sacco di grattacapi. – Zero3

Problemi correlati