목록 패키지가 연산자를 올바르게 강조 표시하지 않는 이유는 무엇입니까?

목록 패키지가 연산자를 올바르게 강조 표시하지 않는 이유는 무엇입니까?

프로그래밍 언어 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

R언어 에 대해 listings다음을 정의합니다.

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

따라서 +nor 도 나열되지 -않으므로 ^추가해야 합니다.

그것에 관해서 는 예상대로 작동하도록 하기 전에 %/%추가하는 것 같습니다 .\%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} 

여기에 이미지 설명을 입력하세요

관련 정보