lst列出 R 關鍵字

lst列出 R 關鍵字

我想在我的乳膠文件中編寫 R 原始碼,因此我使用列表包。

問題是我希望 R 關鍵字以藍色顯示,但例如名為 abc.log.de 的變數以藍色顯示 log。如果 log 是 R 中較大變數名稱的一部分,我不希望發生這種情況。

我應該如何進行?

\documentclass{article}
\usepackage{listings}
\usepackage{color}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}

\lstset{frame=tb,
language=R,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
numbers=none,
keywordstyle=\color{blue},
numberstyle=\tiny\color{gray},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}

\begin{document}

\begin{lstlisting}
L.V2<-log(V2)
dados.log<-dados
\end{lstlisting}

\end{document}

在此輸入影像描述

答案1

預設情況下,R標記在清單包中將期間.視為其他(即非字母)字元類型以及_$,可以識別包含它們的關鍵字(例如data.frame)。然而,這也意味著表單中定義的變數foo.keyword.bar將突出顯示句點之間的關鍵字。

.您可以透過在清單標記中將句點指定為字母字元並alsoletter={.}新增\lstset.不幸的是,這也會阻止其他包含句點(例如data.frameread.csv)的關鍵字被突出顯示。

或者,您可以在程式碼中以不同的方式命名變數(例如, dados.ln)。

\documentclass{article}
\usepackage{listings}
\usepackage{color}

\lstset{frame=tb,
language=R,
keywordstyle=\color{blue},
alsoletter={.}
}

\begin{document}

\begin{lstlisting}
L.V2<-log(V2)
dados.log<-dados
\end{lstlisting}

\end{document}

在此輸入影像描述

兩個小點:

  • 在您的最小工作範例中,不要忘記\documentclass{article}.
  • 您不需要顯示所有設定最小的工作範例。

相關內容