
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
& False
gelb angezeigt wird und dass auch einige Modulaufrufe wie ttk
rot 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}
Bitte beachten Sie, dass „ttk“ wie gewünscht als Schlüsselwort mit der Farbe Rot behandelt wird.