使用elegantbook模板,修改了lstlisting的设置,显示出来的代码里字符串空格会变成乱码?

发布于 2022-09-27 14:08:50

这是我使用的文件,
使用文件.rar
里面包含了两个文件夹,其中代码包文件夹是我操作之后出现问题的文件,ElegantBook Template文件夹则是我下载的模板,作为对照。

我使用的是Texlive + TeXstudio 4.3.1(好像是这个版本)

我从网上下载的elegantBook模板,因为lstlisting设置是Latex,而我想要记录R语言的程序,所以修改了一下设置。

原本模板中cls文件设置:Snipaste_2022-09-27_14-04-53.png

这是我修改cls文件设置:
Snipaste_2022-09-27_13-57-13.png

然后出现的问题:
Snipaste_2022-09-27_13-59-07.png

这个问题好像是表面上显示的,如果复制PDF相应部分到其他地方,会发现这个符号没有了,还是原来的空格。虽然问题影响不大,但还是希望能够得到解决,谢谢!

查看更多

关注者
0
被浏览
1.6k
雾月
雾月 2022-09-27
这家伙很懒,什么也没写!

这是因为你使用了 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}

image.png

2 个回答
LaTeXStudio
LaTeXStudio 2022-09-27
这家伙很懒,什么也没写!

最好提供最小示例,这样猜问题是不行的。只能具体执行。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览