список ключевых слов R

список ключевых слов R

Я хочу написать исходный код R в своем файле latex, поэтому я использую пакет 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-разметкав пакете листингов период рассматривается .какдругой(т.е. небуквенный) тип символа, вместе с _и $, что позволяет распознавать ключевые слова, которые их включают (например, 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}.
  • Вам не нужно показывать все настройки вминимальныйрабочий пример.

Связанный контент