我正在使用该包将 Python 源代码插入 LaTeX 文档中fancyvrb
。以下是 MWE:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{fancyvrb}
\begin{document}
\VerbatimInput[frame=single, numbers=left, numbersep=2pt]{test.py}
\end{document}
test.py 是
valeur = input('Veuillez entrer une valeur numérique : ')
# Il s'agit d'un texte à la fois très accentué et très court.
问题是,编译后我得到了以下内容。
我怎样才能正确发音?
答案1
Python 源代码采用 UTF-8 编码,而不是 latin1。可以通过更改输入编码来管理此问题\inputencoding
。
babel
's也会frenchb.ldf
干扰。可以通过设置不同的语言来避免这种情况。
完整示例:
\documentclass{article}
\usepackage[utf8,latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,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}
utf8
必须在前导码中加载一次,因此 的两个编码选项inputenc
。还\inputencoding{utf8}
包含全局分配,因此它不能像其他编码一样受到组的限制。