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 }
source share