我正在尝试将 Python 代码插入 LaTeX 文档。Python 代码(示例)如下,其中包含许多特殊字符(>、<、°):
valeur = input('Veuillez entrer une valeur numérique ° : ')
if '.' in valeur
print('Hourra')
if x<0 or x>10:
以下是 MWE:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{fancyvrb}
\begin{document}
\inputencoding{utf8}
\begin{otherlanguage*}{english}
\VerbatimInput[frame=single, numbers=left, numbersep=2pt]{test.py}
\end{otherlanguage*}
\inputencoding{latin1}
\end{document}
由于特殊字符,我收到此错误:
我该如何修复它?
这个问题与帖子密切相关Python 源代码中的重音问题但它并不重复,因为我正在处理重音,而现在我似乎正在处理数学模式之外使用的数学符号......
答案Python 源代码中的重音问题不能解决我当前的问题。
答案1
您必须声明要使用 UTF-8。对于度数符号,您还需要textcomp
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8,latin1]{inputenc} % last one is default
\usepackage[english,francais]{babel}
\usepackage{textcomp}
\usepackage{fancyvrb}
\begin{document}
\inputencoding{utf8}
\begin{otherlanguage*}{english}
\VerbatimInput[frame=single, numbers=left, numbersep=2pt]{test.py}
\end{otherlanguage*}
\inputencoding{latin1}
\end{document}
为什么不对其他文件也使用 UTF-8?
答案2
不要使用普通的verbatim
代码,使用专门的包之一。我偏爱listings
,但还有很多其他的;minted
使用 PythonPygments
来排版代码,据说非常灵活。