插入matlab代码时,遇到下划线后弹出missing $ inserted

2020-08-31 01:19发布

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLive `年...

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLive `年份` * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` ## 我的问题 插入matlab代码时,遇到下划线后弹出missing $ inserted,并且不在第一个下划线出现 ``` \documentclass[UTF8,]{ctexart} \usepackage{amsmath} \usepackage{amssymb} \usepackage{cite} \usepackage{listings}%引入代码 \usepackage{xcolor} \usepackage{textcomp} \usepackage{fancyhdr} \usepackage{subfigure} \usepackage{xcolor} \usepackage{geometry}%页边距包 \geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}%页边距参数 \pagestyle{fancy} \lfoot{} \lstset{ language=Matlab, %代码语言使用的是matlab frame=shadowbox, %把代码用带有阴影的框圈起来 rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色 keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体 commentstyle=\color{red!10!green!70}\textit, % 设置代码注释的颜色 showstringspaces=false,%不显示代码字符串中间的空格标记 numbers=left, % 显示行号 numberstyle=\tiny, % 行号字体 stringstyle=\ttfamily, % 代码字符串的特殊格式 breaklines=true, %对过长的代码自动换行 extendedchars=false, %解决代码跨页时,章节标题,页眉等汉字不显示的问题 escapebegin=\begin{CJK*}{GBK}{hei},escapeend=\end{CJK*}, % 代码中出现中文必须加上,否则报错 texcl=true} \begin{document} \begin{lstlisting} %% 一题二问新解法 %% t_in 求解 clear; %% stable numbers V = 39270; t_find = 0.291; tic t_period = t_find+10; t_delay = 0; deta_t = 0.001; %deta_t<0.001 t_rest = 0:deta_t:15000; P_aim = 100; SIZE = size(t_rest); ro_rest = zeros(SIZE); P_rest = zeros(SIZE); M_IN = zeros(SIZE); M_OUT = zeros(SIZE); P_rest(1) = 100; ro_rest(1) = ro_clc(P_rest(1)); for i=2:SIZE(2) t = t_rest(i); M_IN(i-1) = dm_in_clc(ro_rest(i-1),t_period,t)*deta_t; M_OUT(i-1) = dm_out_clc(ro_rest(i-1),t_delay,t)*deta_t; ro_rest(i) = ro_rest(i-1) +( M_IN(i-1) - M_OUT(i-1))/V; P_rest(i) = P_clc(ro_clc(i)); end P_rest = P_clc(ro_rest); %% remark end_i = SIZE(2); L = 0; for i=1:10000000 L = L+P_rest(end_i-i)/10000000; end fprintf('当t_find = %.4f时,最终稳定平均压力为%.4f\n',t_find,L); \end{lstlisting} \end{document} ```
1条回答
语言设置里把 `texcl`、`escapebegin`、`escapeend` 等逃逸方式关掉。 现在 `xetex` 引擎下, `listings` 支持中文,不需要这些东西,而且,`CJK` 宏包太过时了,别再用了。 另外,抄代码要了解一下含义,像这些逃逸方式没有特殊需求都用不上,打开干什么的?

一周热门 更多>

相关问答