我想在文档中包含python脚本,但在这些脚本中我使用了像áéíóú这样的字符。我正在使用\lstet
的识字选项。下面是一个示例代码:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage{listings, pythonhighlight}
\lstset{
basicstyle=\ttfamily\small,
breakatwhitespace=false,
breaklines=true,
inputencoding=utf8,
extendedchars=false,
literate= {á}{{\'a}}1
{é}{{\'e}}1
{í}{{\'i}}1
{ó}{{\'o}}1
{ú}{{\'u}}1
}
\begin{document}
\lstinputlisting[language=Python]{example.py}
\end{document}
使用包含以下内容的python脚本(example.py):
# coding = utf-8
# á é í ó ú
我得到的pdf格式如下:
其中,所有特殊字符均由识字选项中的最后一个字符替换
为什么会这样
编辑
使用包listingsutf8
而不是listings
basicstyle=\ttfamily\small,
breakatwhitespace=false,
breaklines=true,
inputencoding=utf8,
extendedchars=false,
literate= {á}{{\'a}}1
{é}{{\'e}}1
{í}{{\'i}}1
{ó}{{\'o}}1
{ú}{{\'u}}1
}
不会改变任何事情。
将listingsutf8
用于:
\lstset{ ...
inputencoding=utf8/latin1,
...
}
允许使用我需要的所有特殊字符,但会将它们放错位置(所有字符都出现在python注释的开头,而不是它们在句子中应该出现的位置)
将listingsutf8
用于:
\lstset{ ...
inputencoding=latin1,
...
}
也不起作用,因为我的代码是utf8,所以编译时会出现错误
好的,所以我已经成功了。我仍然不知道为什么会发生这种情况,因为我见过其他人也有同样的问题,他们可以用不适合我的方法来解决。如果有人发现自己处于同样的情况,以下是对我有效的方法:
请注意,任何其他组合对我都不起作用。我见过一些人使用
\usepackage{listingsutf8}
包和选项,但对我来说,它产生了相同的结果。这同样适用于任何其他组合的软件包和设置,我不知道为什么。祝你好运
相关问题 更多 >
编程相关推荐