带列表的彩色单词

带列表的彩色单词

  我使用 otherkeywords 控件通过彩色包清单(python)将 scipy.signal 库的一些函数添加到关键字列表中,我添加了 lti 顺序,此顺序是用颜色表示的,但问题是文本“lti”在单词“multi”中也是彩色的。

  • 如何避免这种副作用?

  • 是否可以添加一个库的所有关键字(例如 matplolib)?

答案1

我使用了morekeywords选项而不是otherkeywords,您可能通过指定加载默认的预定义语言\begin{lstlisting}[style=Python],作为第一步,您应该通过定义您的列表语言样式(自定义),lstdefinestyle然后在lstlisting环境中将其用作样式style=myPython

对于第二部分,我不确定,但恐怕没有其他方法可以自动添加关键字,而不是通过收集库关键字列表并将其粘贴到中添加morekeywords = {keyword1,...}

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{textcomp} %for upquote

\definecolor{keywords}{rgb}{0,0,0.7}

\lstdefinestyle{myPython} {
    language=Python,
    keywordstyle=*\color{keywords},
    numbers=left,
    numberstyle=\scriptsize,
    commentstyle=*\color{green!50},
    stepnumber=1,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frameround=ftff,
    frame=lines,
    morekeywords = {lti},
    backgroundcolor=\color{gray!20},
    firstnumber=1,
    upquote=true  %for straight single quotes
    }

\begin{document}
\begin{lstlisting}[style=myPython]
def greet(name):
    print 'Hello', name
greet('LaTeX')
multi lti
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容