R
我正在处理一个包含软件包代码的文档listings
,对于一些显然被视为第一个关键字的字符和单词的字体颜色,我遇到了麻烦。
在此示例中
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset{
language=R,
keywordstyle=\color{blue},
keywordstyle=[2]{\color{red}},
commentstyle=\color{gray},
backgroundcolor=\color{gray!25},
morekeywords=[2]{arg,pos},
moredelim=[is][\color{violet}]{''}{''}
}
\begin{document}
\begin{lstlisting}
# define one / two / three characteristics
install(''"tree/site"'', arg = 1, pos = "t")
\end{lstlisting}
\end{document}
此处,注释和引号内的斜线均以蓝色打印,并且它们不符合中定义的颜色lstset
。
除此之外pos
,还明确定义为keywordstyle
[2]
红色出现在蓝色中。
我感谢您的帮助或建议。
答案1
pos
已定义为关键字。您可以在定义新关键字之前将其删除:
deletekeywords = {pos}
/
也被定义为关键字,但带有otherkeywords
。不幸的是,没有deleteotherkeywords
,但您可以重新设置列表,省去/
:
otherkeywords = {!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_}
R
我可以在文件中找到上述内容的原始定义lstlang3.sty
。
完整示例:
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset{
language=R,
deletekeywords={pos},
otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_},
keywordstyle=\color{blue},
keywordstyle=[2]{\color{red}},
commentstyle=\color{gray},
backgroundcolor=\color{gray!25},
morekeywords=[2]{arg,pos},
moredelim=[is][\color{violet}]{''}{''}
}
\begin{document}
\begin{lstlisting}
# define one / two / three characteristics
install(''"tree/site"'', arg = 1, pos = "t")
\end{lstlisting}
\end{document}