リストパッケージが演算子を正しく強調表示しないのはなぜですか?

リストパッケージが演算子を正しく強調表示しないのはなぜですか?

プログラミング言語 R に関するメモを入力しています。残念ながら、listingsパッケージは一部の数学演算子を認識しますが、他の演算子は認識しないようです。たとえば、以下の例では、 *と は%%希望どおりに異なる色で入力されていますが、%/%+および-^異なる色で入力されていません。

\documentclass[12pt]{scrartcl}

\usepackage{xcolor}

\usepackage{listings}
\lstset{
language=R,
basicstyle=\footnotesize\ttfamily,
backgroundcolor=\color{white!95!black},
commentstyle=\color{green},
keepspaces=true,
keywordstyle=\color{blue}}

\begin{document}

You can use R as a simple calculator:
\begin{lstlisting}
> # The hash symbol '#' will comment out the rest of the line
> 2 + 3
[1] 5
> 7 - 3
[1] 4
> 4 * 5
[1] 20
> 3^4          # Exponentiation
[1] 81
> 43 %% 10     # Modulo operator
[1] 3
> 43 / 10      # Floating point division
[1] 4.3
> 43 %/% 10    # Integer division
[1] 4
\end{lstlisting}

\end{document}

ここに画像の説明を入力してください

すべての数学演算子が青色で表示される出力を得るにはどうすればよいですか?

答え1

言語についてはRlistings以下を定義します。

otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_,/},

したがって、もも+-^リストに含まれていないので、これらを追加する必要があります。

それに関しては、その前に%/%追加するだけで期待どおりに動作するようです。\%otherkeywords

つまり、以下を追加します。

otherkeywords={!,!=,~,$,*,\&,+,-,^,\%,\%/\%,\%*\%,\%\%,<-,<<-,_,/},

\lstsetあなたの望むことをしてください。

\documentclass[12pt]{scrartcl}

\usepackage{xcolor}

\usepackage{listings}
\lstset{
language=R,
basicstyle=\footnotesize\ttfamily,
backgroundcolor=\color{white!95!black},
commentstyle=\color{green},
keepspaces=true,
otherkeywords={!,!=,~,$,*,\&,+,-,^,\%,\%/\%,\%*\%,\%\%,<-,<<-,_,/},
keywordstyle=\color{blue}}

\begin{document}

You can use R as a simple calculator:
\begin{lstlisting}
> # The hash symbol '#' will comment out the rest of the line
> 2 + 3
[1] 5
> 7 - 3
[1] 4
> 4 * 5
[1] 20
> 3^4          # Exponentiation
[1] 81
> 43 %% 10     # Modulo operator
[1] 3
> 43 / 10      # Floating point division
[1] 4.3
> 43 %/% 10    # Integer division
[1] 4
\end{lstlisting}

\end{document} 

ここに画像の説明を入力してください

関連情報