答案1
我的建议是使用这个包matlab-prettifier
,它基于listings
但为 MATLAB 代码提供了增强的功能,超出了listings
'Matlab
语言定义所提供的功能(包括对块注释的支持):
\documentclass{article}
\usepackage{matlab-prettifier}
\lstset{style=Matlab-editor}
\begin{document}
\begin{lstlisting}
% normal comment
MATLAB code
%{
This is
a multiline
comment
%}
function [x,y] = test(x)
\end{lstlisting}
\end{document}
如果由于某种原因您必须使用listings
该语言的现有实现Matlab
,则可以通过设置包的morecomment
键来添加对块注释的支持:
morecomment=[s]{\%\{}{\%\}}
这里,[s]
表示我们正在寻找两个分隔符,第一个用于打开块注释,第二个用于关闭块注释。以下括号组分别包含块注释的开始和结束分隔符。请注意,在定义注释分隔符时,百分号和单独的开始/结束括号都必须用反斜杠转义。
\documentclass{article}
\usepackage{listings}
\lstset{
language=Matlab,
basicstyle=\ttfamily,
morecomment=[s]{\%\{}{\%\}},
}
\begin{document}
\begin{lstlisting}
% normal comment
MATLAB code
%{
This is
a multiline
comment
%}
function [x,y] = test(x)
\end{lstlisting}
\end{document}