西班牙语字符在“列表”包中不起作用

西班牙语字符在“列表”包中不起作用

我的“列表”包中的西班牙语字符不起作用。

在下面的代码示例中,第一次出现单词“ignorará”时没有问题。第二次出现时会产生错误:

! 包 inputenc 错误:Unicode 字符 \u8:═ ...

我相信这是因为我处于 lstlisting 区块中。我该如何修复此问题?

\documentclass[paper=8in:10in,pagesize=pdftex,
               headinclude=on,footinclude=on,12pt]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish,english]{babel}
\usepackage{listings}

\lstset{ language=Python }

\lstloadlanguages{ Python }

\begin{document}

y el compilador lo ignorará.

\begin{lstlisting}[language=python]
# Esto es un comentario, comienza con el signo #
# y el compilador lo ignorará.

print("Esto no es un comentario, el ordenador")
print("ejecutará esto y lo imprimirá.")
\end{lstlisting}

\end{document}

答案1

感谢 dartbith 的指导,我想到添加这个可以让西班牙语字符在代码清单中正常工作:

\lstset{
    language=Python,
    literate={á}{{\'a}}1
        {ã}{{\~a}}1
        {é}{{\'e}}1
        {ó}{{\'o}}1
        {í}{{\'i}}1
        {ñ}{{\~n}}1
        {¡}{{!`}}1
        {¿}{{?`}}1
        {ú}{{\'u}}1
        {Í}{{\'I}}1
        {Ó}{{\'O}}1
}

相关内容