在我的论文中我包含了 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,