org文件转pdf listings包相关问题

使用org-mode转pdf时,有时候会粘很长的一段代码。用原生的verbatim没有自动换行,直接就超过页面宽度了。

我google找到了使用 listings 包来解决的办法,定义了一个这样的新环境:

\lstnewenvironment{mylslongverbatim}
                  {\lstset{
                      breaklines=true,
                      frame=single,
                      basicstyle=\tiny,
                      columns=fullflexible,
                      showstringspaces=false,
                      extendedchars=false,
                  }}
                  {}

listings包全局设定如下:

% 设置源码格式
\lstset{frame=single}
\lstset{basicstyle=\tiny}
\lstset{postbreak=\space, breakindent=5pt, breaklines}
% 这个设置使listing在copy出来后没有多余的空格
\lstset{columns=fullflexible}
\lstset{showstringspaces=false}

但是这样我发现一个奇怪的问题:

新环境里的英文破折号,导出到pdf文件中就成了中文破折号了。

反过来,中文破折号,导出到pdf却变成了英文破折号。

It’s amazing.

请问有人遇到过吗?