我想在我的乳膠文件中編寫 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.frame
或read.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}
. - 您不需要顯示所有設定最小的工作範例。