Python 代码中的特殊字符问题

Python 代码中的特殊字符问题

我正在尝试将 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来排版代码,据说非常灵活。

相关内容