Basic usage of listings package
From Notes_Wiki
Basic usage of listings package
LaTeX comes with listings package which can be used to include source code in a nice manner in LaTeX output. To include listings package with proper configuration use:
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{ %
language=erlang, % 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=\tiny\color{gray}, % the style that is used for the line-numbers
stepnumber=1, % 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
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here))
tabsize=4, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=true, % sets if automatic breaks should only happen at whitespace
title=\lstname, % show the filename of files included with \lstinputlisting;
% also try caption instead of title
keywordstyle=\color{blue}, % keyword style
commentstyle=\color{dkgreen}, % comment style
stringstyle=\color{mauve}, % string literal style
% escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
% morekeywords={*,...} % if you want to add more keywords to the set
}
After including listings package to include a source code file listing one can use:
\lstinputlisting[language=erlang,
caption={Hello World program (hello\_world.erl)},
label=introduction-hello_world]
{examples/introduction/hello_world.erl}
If it is desired then source code can also be typed directly into tex file using lstlistings environment, such as:
\begin{lstlisting}
//Code
\end{lstlisting}
Listing package supports large number of languages. Languages supported are listed at wikibooks page at http://en.wikibooks.org/wiki/LaTeX/Packages/Listings Most of the information in this page has also been learned from the same wikibook page.