
LaTeX ドキュメントに挿入された Python コードにいくつかのキーワードを追加したいと考えています。True
& をFalse
黄色にし、モジュール呼び出しなどをttk
赤で表示したいと考えています。 morekeywords 呼び出しを使用してみましたが、うまくいきません。以下は私の LaTeX コードです。
\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
}}
答え1
使用できます
keywords=[<number>]{<list of keywords>}
別のキーワードセットを追加して
keywordstyle={[<number>]<style commands>},
この新しいセットにスタイルを与えるためです。
あなたの色や \ttb コマンドの元の定義がなかったため、以下の例では独自の設定を使用しましたが、独自の設定を簡単に使用できます。コードは、この例のためだけにランダムに取得されました。
\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}
リクエストに応じて、「ttk」が赤色のキーワードとして扱われていることにご注意ください。