listando palavras-chave R

listando palavras-chave R

Quero escrever o código-fonte R em meu arquivo latex, então estou usando o pacote de listagens.

O problema é que quero que as palavras-chave R apareçam em azul, mas, por exemplo, uma variável chamada abc.log.de aparece com log em azul. Não quero que isso aconteça se log fizer parte de um nome de variável maior em R. (Exemplo abaixo)

Como devo proceder?

\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}

insira a descrição da imagem aqui

Responder1

Por padrão, oMarcação Rno pacote de listagens considera o período .como umoutro(ou seja, não-letra) tipo de caractere, junto com _e $, que permite reconhecer palavras-chave que os incluem (como data.frame). Porém, isso também significa que as variáveis ​​definidas no formulário foo.keyword.bardestacarão a palavra-chave entre os períodos.

Você pode evitar esse comportamento especificando o ponto final .como um caractere de letra na marcação da listagem, alsoletter={.}adicionando \lstset. Infelizmente, isso também impedirá que outras palavras-chave contendo pontos (como data.frameou read.csv) sejam destacadas.

Alternativamente, você poderia nomear suas variáveis ​​de forma diferente em seu código (por exemplo, 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}

insira a descrição da imagem aqui

Dois pontos menores:

  • No seu exemplo mínimo de trabalho, não se esqueça \documentclass{article}.
  • Você não precisa mostrar todas as configurações em ummínimoexemplo de trabalho.

informação relacionada