\def\RCodeIndex#1{\BeginAccSupp{method=escape,ActualText={}}\smash{\kern-.5pt\textsubscript{\textcolor{gray!80!black}{\texttt{\textmd{\scriptsize#1}}}}\kern-.5pt}\EndAccSupp{}} \lstdefinelanguage{lR}{ number suffixes={eEiL}, language=R, % remove the underscore otherkeywords={!=,~}, morekeywords=[1]{assign,in}, showstringspaces=false, deletekeywords={sum,prod,text,parse,paste,deparse,eval,c,\&\&,||,nrow,ncol,environment,new.env,new,env,assign,get,add}, alsoletter={_}, morestring=[d]", add to literate={:=}{{{:=}}}2 {::}{{{:\!:}}}2 {:::}{{{:\!:\!:}}}3 {:<:}{\textcolor{lightgray}{\(\langle\)}}1 {:>:}{\textcolor{lightgray}{\(\rangle\)}}1 {:br:}{{{\BeginAccSupp{method=escape,ActualText={}}\color{gray}$\hookleftarrow$\EndAccSupp{}}}}1 } \lstdefinelanguage{lIndexR}{ language=lR, add to literate={_0}{{{\RCodeIndex0}}}1 {_1}{{{\RCodeIndex1}}}1 {_2}{{{\RCodeIndex2}}}1 {_3}{{{\RCodeIndex3}}}1 {_4}{{{\RCodeIndex4}}}1 {_5}{{{\RCodeIndex5}}}1 {_6}{{{\RCodeIndex6}}}1 {_?}{{{\RCodeIndex?}}}1 {_7}{{{\RCodeIndex7}}}1 {_8}{{{\RCodeIndex8}}}1 {_9}{{{\RCodeIndex9}}}1 {_!}{{{\RCodeIndex!}}}1 {__}{{{\RCodeIndex{\phantom{1}}}}}1 % padding space } \RegisterLanguage{R}{lR} \RegisterLanguage{IndexR}{lIndexR}