让列表包识别“...”之后的 Matlab 注释

让列表包识别“...”之后的 Matlab 注释

在 Matlab 中,...表示语句在下一个物理行继续。任何来自...是一条评论。 有什么方法可以让listing包识别随后的评论...吗?

在以下最小工作示例中,注释被设为蓝色。但是,只有以 为前缀的注释%被设为蓝色。之后的注释...则不是。

\documentclass{article}
\usepackage{color}
\usepackage{listings}
\begin{document}
\lstset{language=Matlab,frame=single,
        basicstyle=\ttfamily\small,
        commentstyle=\color{blue}\ttfamily\small}
\begin{lstlisting}
   % A comment
   disp('Hello world') % A comment
   disp( ...A comment after triple dots
         ... Another comment after triple dots
      'Hello world' )
\end{lstlisting}
\end{document}

如果使用 listings 包可以快速完成此操作,我可能会选择使用这个包,而不是探索其他包,例如 matlab-美化器,按照建议 这里

答案1

好的,出于某些原因,该otherkeywords机制对于评论来说不是必需的。因此,获得所需内容的正确方法似乎是:

\documentclass{article}
\usepackage{color}
\usepackage{listings}
\begin{document}
\lstset{language=Matlab,frame=single,
        basicstyle=\ttfamily\small,
        commentstyle=\color{blue}\ttfamily\small,
        morecomment=[l]{...},
        }
\begin{lstlisting}
   % A comment
   disp('Hello world') % A comment
   disp( ...A comment after triple dots
         ... Another comment after triple dots
      'Hello world' )
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容