Basic usage of listings package

From Notes_Wiki
Revision as of 09:23, 25 January 2019 by Saurabh (talk | contribs)

<yambe:breadcrumb self="Basic usage of listings package">Listings package|Listings package</yambe:breadcrumb>

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.