라텍스 파일에 R 소스 코드를 작성하고 싶기 때문에 목록 패키지를 사용하고 있습니다.
문제는 R 키워드가 파란색으로 표시되기를 원하지만 예를 들어 abc.log.de라는 변수가 파란색으로 로그인되어 표시된다는 것입니다. 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}
. - 모든 설정을 표시할 필요는 없습니다.최소한의작업 예.