乳胶列表包不能包含带有百分比符号的MATLAB代码

时间:2019-03-23 05:51:22

标签: matlab latex listings

我正在使用乳胶编写Matlab项目报告。我在lstinputlisting包中使用了listings命令来解析Matlab代码文件。

原始的Matlab代码包含以下几行。

s = functions(solvers{idx});
fname = s.function;
fprintf("%s : \n", fname);

代码文件中的百分比符号触发编译错误。

! LaTeX Error: Environment CJK* undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.19         fprintf("%
                       s : \n", fname);

当我将语言从Matlab更改为C时,错误消失了。我想清单包内的Matlab语法文件内有一些错误。

有什么办法可以解决此问题?

我的列表配置为

\lstset{%
    language = Matlab,
    tabsize=4,
    frame=shadowbox, %把代码用带有阴影的框圈起来
    commentstyle=\color{red!50!green!50!blue!50},%浅灰色的注释
    rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色
    keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体
    showstringspaces=false,%不显示代码字符串中间的空格标记
    stringstyle=\ttfamily, % 代码字符串的特殊格式
    keepspaces=true, %
    breakindent=22pt, %
    numbers=left,%左侧显示行号 往左靠,还可以为right,或none,即不加行号
    stepnumber=1,%若设置为2,则显示行号为1,3,5,即stepnumber为公差,默认stepnumber=1
    %numberstyle=\tiny, %行号字体用小号
    numberstyle={\color[RGB]{0,192,192}\tiny} ,%设置行号的大小,大小有tiny,scriptsize,footnotesize,small,normalsize,large等
    numbersep=8pt,  %设置行号与代码的距离,默认是5pt
    basicstyle=\footnotesize, % 这句设置代码的大小
    showspaces=false, %
    flexiblecolumns=true, %
    breaklines=true, %对过长的代码自动换行
    breakautoindent=true,%
    breakindent=4em, %
    escapebegin=\begin{CJK*}{GBK}{hei},escapeend=\end{CJK*},
    aboveskip=1em, %代码块边框
    tabsize=2,
    showstringspaces=false, %不显示字符串中的空格
    backgroundcolor=\color[RGB]{245,245,244},   %代码背景色
    %backgroundcolor=\color[rgb]{0.91,0.91,0.91}    %添加背景色
    escapeinside=``,  %在``里显示中文
    %% added by http://bbs.ctex.org/viewthread.php?tid=53451
    fontadjust,
    captionpos=t,
framextopmargin=2pt,framexbottommargin=2pt,abovecaptionskip=-3pt,belowcaptionskip=3pt,
    xleftmargin=4em,xrightmargin=4em, % 设定listing左右的空白
    texcl=true,
    % 设定中文冲突,断行,列模式,数学环境输入,listing数字的样式
    extendedchars=false,columns=flexible,mathescape=true
                 % numbersep=-1em
}

然后我使用\lstinputlisting{./code/main.m}包含文件。

0 个答案:

没有答案