我想在我的 Beamer 演示文稿中插入源代码列表。我了解到我们不能在框架环境中直接使用 lstlisting,因此我使用了以下技巧:
\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}
我的列表集是:
\lstset{ %
backgroundcolor=\color{white},
basicstyle=\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
commentstyle=\color{mygreen},
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}
}
不幸的是,生成的幻灯片在代码后有一条粗灰线:
有什么办法可以删除这条线吗?
答案1
我找到了问题所在。显示的灰色区域是代码的标题。显然,它是灰色的,因为我使用的 beamer 样式。
因此,设置 标题位置到n在列表集解决了这个问题。
答案2
除了使用这个技巧,您还可以fragile
在框架中添加选项
\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}