Latex 乳胶显示C++;:带重音字符的错误 我有一个显示C++代码的胶乳文档。文档保存在UTF-8中

Latex 乳胶显示C++;:带重音字符的错误 我有一个显示C++代码的胶乳文档。文档保存在UTF-8中,latex,Latex,以下是代码: \documentclass[a4paper,11pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern,textcomp} \usepackage[frenchb]{babel} \usepackage{listings} \lstset{ language=C++, extendedchars=true, inputencoding=utf8 } \begin{d

以下是代码:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[frenchb]{babel}
\usepackage{listings}
\lstset{
language=C++,
extendedchars=true,
inputencoding=utf8
}
\begin{document}
Voici du code :
\begin{lstlisting}
#include <iostream>

int main() {
   // Affichage des libellés des colonnes
   std::cout << "a b c\n";
}
\end{lstlisting}
\end{document}
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[法语]{babel}
\usepackage{listings}
\lstset{
语言=C++,
extendedchars=true,
输入编码=utf8
}
\开始{document}
Voici du代码:
\开始{lstlisting}
#包括
int main(){
//科隆图书馆

std::cout如果我没记错的话,你不能这么做。即使使用
inputencoding
选项也只适用于使用不超过一个字节的字符


另一种选择是,使用
Xeletex
处理器而不是
pdflatex
,因为XeTeX使用UTF-8作为内部编码,或者使用UTF-8而不是源代码列表。

我尝试使用minted,能够安装它(我正在使用OS X,使用
Distribution TeX
),但我收到一个错误,说它需要安装pygmentize,但我无法安装。无论如何,为了立即解决我的问题,我将源代码放在一个外部文件中(用拉丁语编码),并使用\lsInputListing[inputencoding=Latin1]{my_code.cpp}谢谢你的帮助!@Jérôme:是的,minted确实需要pygmentize。一开始我真的不明白,
pygmentize
不是一个latex包,而是一个python库。我安装了它,可以使用minted(使用
pdfLaTex
),但我在重音字符方面也遇到了同样的问题。然后我尝试使用
Xeletex
,但随后,我发现
要求安装pygmentize
错误(安装时我不理解为什么)。太糟糕了:minted产生的输出比清单中的输出更吸引我!@Jérôme:true,即使是
minted
也需要XeTeX来排版UTF-8,原因与我在回答中提到的几乎相同。至于错误,可能是由于一个已知的错误。要修复它,请尝试从项目页面下载并将其放入t他在LaTeX路径中创建了
目录。
! Missing \endcsname inserted.
<to be read again>
                   \global
l.18     // Affichage des libellés
                                    des colonnes
?