listings宏包中文错位问题怎么解决?

2020-04-19 22:05发布

我试图用listings宏包创建代码块。但是在使用的过程中我发现了中文错位的问题,例如 ``` \documentclass[UTF8]{ctexart} \usepackage{listings}...

我试图用listings宏包创建代码块。但是在使用的过程中我发现了中文错位的问题,例如 ``` \documentclass[UTF8]{ctexart} \usepackage{listings} \begin{document} \begin{lstlisting}[language=C,extendedchars=false,frame=single] #include int main(){ a = "tes测试中英文混杂t mix of Chi测试ne中英文s混杂e and Eng测试中英文混杂lish"; printf(a); return 0; } \end{lstlisting} \end{document} ``` 输出的PDF如图 我的妈耶,为何我上传不了图片。。。BUG? 我描述一下吧 PDF中是:a = ”测试中英文混杂 test mix of 测试中英文混杂Chinese and 测试中英文混杂English ” ; 而这与LaTeX源码中的内容显然不符。 源码中是:a = "tes测试中英文混杂t mix of Chi测试ne中英文s混杂e and Eng测试中英文混杂lish" 我上网查了一下,好像并不是我一个人有这个问题,只要中文和英文之间没有空格,就会导致奇怪的错位。 请问,有没有替代方案?我该怎样处理代码块?