列出 R 关键字

列出 R 关键字

我想在我的 latex 文件中写入 R 源代码,因此我使用 listings 包。

问题是我希望 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 标记在 listing 包中将该期间.视为其他(即非字母)类型的字符,以及_$,这允许识别包含它们的关键字(例如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}
  • 您不需要显示所有设置最小工作示例。

相关内容