如何在乳胶中用列表显示 Octave 代码的颜色?

如何在乳胶中用列表显示 Octave 代码的颜色?

在我的论文中我包含了 Octave 代码

\usepackage{listings}

不,我希望文本和数字的颜色与 Octave 中的颜色相同。一切都很好,只是我不知道如何将必须为红色的符号涂成红色。

例如,关键字可以很容易地通过以下方式涂成蓝色

keywordstyle=\color{blue}

有没有类似的方法可以对用红色书写的符号执行此操作?我手动完成了此操作,但效果不如预期。

这是我在 LaTeX 中写的:

\documentclass[a4paper]{report}

\usepackage{color}
\usepackage{listings}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\definecolor{myorange}{rgb}{0.855,0.576,0.027}
\lstset{
language=Octave,
frame=single,   
morecomment = [l][\itshape\color{blue}]{\%},
keywordstyle=\color{blue},
commentstyle=\color{mygreen},
breakatwhitespace=false,         
breaklines=true,  
numbers=left,
numbersep=5pt,
numberstyle=\tiny\color{mygray}, 
showstringspaces=false,
showtabs=false,                  
tabsize=2,
stringstyle=\color{myorange},
title=\lstname,
literate=
{+}{{{\color{red}+}}}1
{-}{{{\color{red}-}}}1
{*}{{{\color{red}*}}}1
{,}{{{\color{red},}}}1
{=}{{{\color{red}=}}}1
{)}{{{\color{red})}}}1
{(}{{{\color{red}(}}}1
{;}{{{\color{red};}}}1
{:}{{{\color{red}:}}}1
{[}{{{\color{red}[}}}1
{]}{{{\color{red}]}}}1
{>}{{{\color{red}>}}}1
}

\begin{document}

\begin{lstlisting}[caption={invar\_table.m}]
function out = invar_table(n,m,N)
if n>m, error('first number must be smaller than the second'), endif

t = cputime;
out = zeros(m-n+1,2);

for i=n:m
  out(i+1-n,1) = i;
  out(i+1-n,2) = invar(braidmatrix(i),N);
end

printf('Total CPU time: %f seconds\n', cputime-t);

end
\end{lstlisting}

\end{document}

我的 LaTeX 文档中的代码示例:

在此处输入图片描述

它看起来应该是这样的:

在此处输入图片描述

我怎样才能正确显示颜色?

答案1

回答可能太晚了 :P

尝试在您的中添加此行\lstset

basicstyle=\linespread{0.9}\ttfamily\small,

相关内容