我包含了一个 Matlab 文件,它运行良好。颜色发生了变化,看起来很漂亮。突然,Latex 不会改变代码的颜色,除了背景颜色。我的代码有问题吗?或者包含的包是否可能扰乱了代码?非常感谢您的回答!
\documentclass[12pt, xcolor=dvipsnames]{scrartcl}
\usepackage{listings}
\usepackage[dvipsnames]{xcolor}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{mygreen}{RGB}{28,172,0}
\definecolor{mylilas}{RGB}{170,55,241}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\begin{document}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{blue},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\ttfamily\scriptsize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
aboveskip=\medskipamount
}
\lstset{style=mystyle}
\lstinputlisting{adj.m}
\end{document}
答案1
您没有提供带有语言的列表,因此它不知道语法,也无法为评论、关键字等添加颜色。
如果你添加language=MATLAB
到\lstset
,它应该可以工作。
\lstset{style=mystyle,language=MATLAB}
如果你计划对多种语言使用相同的样式,则可以使用以下方式更改语言\lstset
再次使用来更改语言。
您还可以在插入代码时指定语言
\lstinputlisting[language=MATLAB]{adj.m}