Hinzufügen von Wörtern zur Listenliste für die Python-Sprache

Hinzufügen von Wörtern zur Listenliste für die Python-Sprache

Ich möchte ein paar Schlüsselwörter zu einem Python-Code hinzufügen, der in ein LaTeX-Dokument eingefügt wird. Ich möchte, dass True& Falsegelb angezeigt wird und dass auch einige Modulaufrufe wie ttkrot angezeigt werden. Ich habe versucht, den Aufruf morekeywords zu verwenden, aber das funktioniert bei mir nicht. Unten ist mein LaTeX-Code:

\newcommand\pythonstyle{\lstset{
language=Python,
basicstyle=\ttm,
otherkeywords={self},             
keywordstyle=\ttb\color{deepblue},
morekeywords={ttk}
emph={MyClass,__init__},          
emphstyle=\ttb\color{deepred},    
stringstyle=\color{deepgreen},

showstringspaces=false            
}}

Antwort1

Sie können

keywords=[<number>]{<list of keywords>}

um einen weiteren Satz von Schlüsselwörtern hinzuzufügen und dann

keywordstyle={[<number>]<style commands>},

um diesem neuen Set einen Stil zu geben.

Da ich weder die Originaldefinitionen Ihrer Farben noch des \ttb-Befehls hatte, habe ich im folgenden Beispiel einige eigene Einstellungen verwendet, Sie können aber problemlos Ihre eigenen Einstellungen verwenden. Der Code wurde zufällig und nur für dieses Beispiel verwendet.

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{bera}% optional; just for the example

\lstset{
language=Python,
basicstyle=\ttfamily,
otherkeywords={self},             
keywordstyle=\ttfamily\color{blue!90!black},
keywords=[2]{True,False},
keywords=[3]{ttk},
keywordstyle={[2]\ttfamily\color{yellow!80!orange}},
keywordstyle={[3]\ttfamily\color{red!80!orange}},
emph={MyClass,__init__},          
emphstyle=\ttfamily\color{red!80!black},    
stringstyle=\color{green!80!black},
showstringspaces=false            
}

\begin{document}

\begin{lstlisting} 
def under_attack(col, queens):
    left = right = col
    for r, c in reversed(queens):
        left, right = left - 1, right + 1

        if c in (left, col, right):
            return True
    return False
    print 'This generation has {0} babies'.format(babies)
ttk.Button(buttonframe,width = 3,
           textvariable=guivars["%s %s" %(current, item)],
           command=lambda: remoteButton(current, item))
\end{lstlisting}

\end{document}

Bildbeschreibung hier eingeben

Bitte beachten Sie, dass „ttk“ wie gewünscht als Schlüsselwort mit der Farbe Rot behandelt wird.

verwandte Informationen