这是因为你使用了 Consolas 字体,而这个字体中没有这个 "␣"(U+2423,\textvisiblespace
) 字符。可以在 log 文件中看到这一点。
如果必须使用 Consolas 字体,只要设置 showstringspaces=false
就可以了。
可以直接用 \lstset{showstringspaces=false}
,也可以
\begin{lstlisting}[language=R,showstringspaces=false]
> grep("Pole",c("Equator","North Pole","South Pole"))
[1] 2 3
> grep("pole",c("Equator","North Pole","South Pole"))
integer(0)
# 看看区别
> grepl("Pole",c("Equator","North Pole","South Pole"))
[1] FALSE TRUE TRUE
> grepl("pole",c("Equator","North Pole","South Pole"))
[1] FALSE FALSE FALSE
\end{lstlisting}
问 使用elegantbook模板,修改了lstlisting的设置,显示出来的代码里字符串空格会变成乱码?