2009-02-25 13 views
130

Attualmente sto scrivendo un rapporto sul progetto e per spiegare il codice un po 'pazzesco non intuitivo che ho usato ho bisogno di mettere un sacco di brevi esempi di codice di esempio.Crea codice in LaTeX look * nice *

Come posso ottenere il codice in LaTeX che:

  • sembra piacevole
  • non si spegne il lato della pagina se la linea è troppo lunga (elenco lstlisting o testualmente)
  • è preferibilmente in linea con il resto del testo

modificato (Ho pensato di aggiungere le impostazioni in modo persone non hanno per cercare di capire se stessi (tratto da Wikibooks (link più in basso) e modificati per simpatia))

Nizza impostazioni:

\usepackage{color} 
\usepackage{listings} 
\lstset{ % 
language=C++,    % choose the language of the code 
basicstyle=\footnotesize,  % the size of the fonts that are used for the code 
numbers=left,     % where to put the line-numbers 
numberstyle=\footnotesize,  % the size of the fonts that are used for the line-numbers 
stepnumber=1,     % the step between two line-numbers. If it is 1 each line will be numbered 
numbersep=5pt,     % how far the line-numbers are from the code 
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color} 
showspaces=false,    % show spaces adding particular underscores 
showstringspaces=false,   % underline spaces within strings 
showtabs=false,     % show tabs within strings adding particular underscores 
frame=single,   % adds a frame around the code 
tabsize=2,   % sets default tabsize to 2 spaces 
captionpos=b,   % sets the caption-position to bottom 
breaklines=true,  % sets automatic line breaking 
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace 
escapeinside={\%*}{*)}   % if you want to add a comment within your code 
} 

\begin{lstlisting} 
!!code!! 
\end{lstlisting} 

Un esempio di queste impostazioni:

+0

lstlisting * can * do line wrap, è sufficiente utilizzare il comando lstset corretto. –

+0

Sì, alla fine ho trovato qualcosa che me l'ha detto. Grazie! –

+1

Meraviglioso! Mi piace essere in grado di copiare e incollare qualcosa nel mio documento in lattice e farlo diventare bello all'istante! Mi hai salvato per alcune ore di tweaking ora. Grazie! :) –

risposta

41

Il pacchetto listings è molto bella e molto flessibile ibile (ad es. diverse dimensioni per commenti e codice).

2

Per un documento semplice, a volte uso verbatim, ma l'elenco è utile per una grande porzione di codice.

17

Si scopre che lstlisting è in grado di formattare il codice in modo corretto, ma richiede un sacco di ritocchi.

Wikibooks ha un buon esempio per i parametri che è possibile modificare.