lstlistings:正则表达式引号/撇号错误

lstlistings:正则表达式引号/撇号错误

我试图在 LaTeX 中显示一个较长的 Python 正则表达式lstlistings。但在编译时,我收到以下错误消息。

! Package inputenc Error: Unicode char \u8:�\lst@FillFixed@\lst@EC� not set up for use with LaTeX. 

我认为这是由引号 ' 和 ´ 引起的。如何以lstlisting最简单的方式正确显示它们?我是 LaTeX 初学者,搜索并尝试了许多其他解决方案,但没有一个对我有帮助。

\lstset{
language=Python,
basicstyle=\footnotesize,
captionpos=t,
texcl=true,
numbers=left,                    
numbersep=7pt,                   
showspaces=false,                
showstringspaces=false,          
showtabs=false,                  
stepnumber=1,   
breaklines=true,
}          

\begin{lstlisting}[frame=single, caption=Full source code]

pattern_p = re.finditer("(\t|; )((\w{2,}( |-)?)+) ?(\((m|f|n)\))? ?(\(((\w{2,}\'?-?’?\?? ?)+)(\)|,|’))?", decoded_line)

\end{lstlisting}

答案1

lstlistings 不能很好地处理 UTF-8。通过添加

\lstset{
literate={’}{\textquoteright}1 {ʹ}{\textquoteright}1
}

UTF-8 字符被替换为接近的 LaTeX 生成的对应字符。解决方案由上面的 daleif 提供。

相关内容