Long lines in LaTeX

I have code that I write inside the verbatim environment. Sometimes the lines are too long and the created pdf looks ugly - the line of text runs along the right edge. What can I do to automatically break these long lines? Is there anything better than verbatim?

Thanks Lucian

+4
source share
5 answers

Is it possible to use a font with a fixed width, for example. \texttt{} ? If you need something more complicated, try moreverb , listings or algorithmicx packages.

+9
source

Of course, you have a wonderful package of β€œlistings” for this. It supports (if you want) even fairly printed work with a large number of source code languages, as well as "smart breaking" of long lines depending on the language displayed.

+11
source

I would strongly recommend using the listing package for this. It formats the code well and supports a large number of languages ​​(see Pg12 ) and is effectively used in three ways:

  • Inline fragments are included using the \lstinline!int x = 0;! command
  • Typed code blocks in lstlisting , for example, the following

     \begin{lstlisting} for i:=maxint to 0 do begin { do nothing } end; \end{lstlisting} 
  • Imported code blocks, where the code is embedded in the document directly from the source code file, using, for example, \lstinputlisting{source.py}

There are many parameters that can be configured using this package, for example, for wrapping lines and line numbers, and full details can be found in the batch documentation , but a good basic setting is provided in the wikibook entry :

 \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 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 } 
+3
source

You can try a pretty printed package like LGrind. Otherwise, you will have to manually break the lines.

+2
source

You may also be interested in fancyvrb package .

+1
source

All Articles