\usepackage[utf8]{inputenc}
\usepackage{geometry}
\geometry{left=2cm,right=2cm,top=2cm,bottom=2cm}%设置页边距
\usepackage{listings}
\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}
\usepackage{xcolor}
\lstset{breaklines}%自动将长的代码行换行排版
\lstset{extendedchars=false}%解决代码跨页时,章节标题,页眉等汉字不显示的问题
如上图,在begin{document}前进行配置。要注意的是,在overleaf中,该配置无法显示matlab代码中的中文注释,且matlab代码中的%会报错(不影响pdf的输出)。
\begin{lstlisting}
code
\end{lstlisting}