Domanda

Ho qualche codice che scrivo all'interno dell'ambiente verbatim. A volte, le linee sono troppo lunghi e il pdf generato sembra brutto - la riga di testo passa sopra il margine destro. Cosa posso fare per rompere automaticamente queste lunghe file? C'è qualcosa di meglio rispetto alla ENV Verbatim?

Grazie, Lucian

È stato utile?

Soluzione

Si può semplicemente utilizzare un font a larghezza fissa, ad esempio, \texttt{}? Se hai bisogno di qualcosa di più sofisticato, provate il moreverb , annunci , o noreferrer algorithmicx pacchetti.

Altri suggerimenti

Naturalmente, si ha la meravigliosa "elenchi" Pacchetto per questo. Esso supporta (se si vuole) anche piuttosto la stampa di un sacco di lingue codice sorgente, così come una "rottura intelligente" delle linee lunghe a seconda della lingua visualizzata.

I consigliamo vivamente di fare uso del pacchetto inserzioni per questo. Sarà formattare il codice bene, e supporta un gran numero di lingue (Vedere PG12 ), ed è effettivamente utilizzata in tre modi:

  1. frammenti di linea sono inclusi con il comando \lstinline!int x = 0;!
  2. Typed blocchi di codice, all'interno lstlisting ambiente, ad esempio il seguente

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. Importati blocchi di codice in cui il codice è incorporato in un documento direttamente da un file di codice sorgente, utilizzando, ad esempio, \lstinputlisting{source.py}

Ci sono molte, molte opzioni che possono essere configurati con questo pacchetto, ad esempio, avvolgere le linee e comprendono numeri di riga, e tutti i dettagli possono essere trovati nel documentazione del pacchetto , ma una buona configurazione di base è previsto nel wikibook :

\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=2,                   % the step between two line-numbers. If it's 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
}

Si potrebbe provare un pacchetto pretty-printing come LGrind. In caso contrario, si dovrà manualmente rompere le righe.

Si potrebbe anche essere interessato al fancyvrb pacchetto .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top