# Lstlisting in beamer presentation

I would like to insert a source code listing into my beamer presentation. I learnt that we cannot use lstlisting directly in the frame environment, so I am using the following trick:

\defverbatim[colored]\makeset{
\begin{lstlisting}[language=C++,basicstyle=\ttfamily,keywordstyle=\color{blue}]
void make_set(int X) {
parent[X] = X;
}
\end{lstlisting}
}

\begin{frame}
\makeset
\end{frame}


My lstset is:

\lstset{ %
backgroundcolor=\color{white},
basicstyle=\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
escapeinside={\%*}{*)},
extendedchars=true,
frame=single,
keywordstyle=\color{blue},
language=Prolog,
numbers=left,
numbersep=5pt,
numberstyle=\tiny\color{mygray},
rulecolor=\color{black},
showspaces=false,
showstringspaces=false,
showtabs=false,
stepnumber=2,
stringstyle=\color{mymauve},
tabsize=2,
title=\lstname,
morekeywords={not,\},\{,preconditions,effects },
deletekeywords={time}
}


Unfortunatelty the resulting slide has a thick grey line after the code:

Is there any way to remove the line?

• No. Use the lstlisting environment as-is, but add the [fragile] option to your frame. – Werner Mar 8 '14 at 1:34
• possible duplicate of Can't insert code in my beamer slide – Werner Mar 8 '14 at 1:35
• Unfortunately lstlisting with fragile frame produces the same results. It is not a duplicate, I can insert code into a beamer slide, but it shows some extra grey area. – iensen Mar 8 '14 at 1:46
• I'm unable to replicate your problem, even with the \lstset. Please provide a complete, minimal working example (MWE). – Werner Mar 8 '14 at 1:50

I have found the problem. The grey area displayed is for the caption of the code. Apparently it is grey because of the beamer style I am using.

So, setting captionpos to n in lstset fixes the problem.

Instead of using this trick, you can just add the option fragile in your frame

\begin{frame}[t,fragile]{\insertsectionhead}
\begin{columns}
\begin{column}{0.6\textwidth}
Calcul Symbolique (\textit{calcul formel})
\begin{itemize}
\item Algorithme sur les objets mathématiques
\end{itemize}
\Rcode
\begin{lstlisting}
dsolve({diff(y(x),x,x)-3*y(x)=x,y(0)=1,D(y)(0)=2},y(x));
\end{lstlisting}
\end{column}
\end{frame}