使用{listings}宏包以及依赖于{listings}的宏包,如{matlab-prettifier}和{mcode}等,在{beamer}中都有兼容性问题.
解决的办法是给{frame}环境添加选项[fragile]:
\begin{frame}[fragile]
\frametitle{XeLatex中自定义matlab代码语法高亮-标题}
下面是Matlab代码,显示效果如下:
\begin{lstlisting}
s=0;
for n=1:0.5:10
s=s+n;
end
disp(s)
\end{lstlisting}
显示效果如上.
\end{frame}
上面的代码可以正确显示matlab语法高亮.
下面给出完整代码,编译环境MikTex2.9+Win7+Xelatex,在windows中强烈推荐MikTex,而不是TexLive.看看发行说明再使用过后你就会感受很深!
\documentclass[mathserif]{beamer}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ctex}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{color}
\usepackage{textcomp} % 应该加上,否则容易报错
%====================&