我的“列表”包中的西班牙语字符不起作用。
在下面的代码示例中,第一次出现单词“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
}