显示C ++的Latex:带有突出字符的错误

时间:2010-05-05 10:02:51

标签: latex

我有一个显示C ++代码的Latex文档。该文档以UTF-8保存。

这是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{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}

请注意C ++代码示例中突出显示的字符。

尝试生成PDF文档时,出现以下错误:

! Missing \endcsname inserted.
<to be read again>
                   \global
l.18     // Affichage des libellés
                                    des colonnes
?

如果删除突出显示的字符,PDF生成工作正常。

怎么了?

1 个答案:

答案 0 :(得分:3)

如果我没记错的话,你就做不到。即使使用inputencoding选项,也只适用于不使用多个字节的字符。

作为替代方案,请使用xelatex处理器而不是pdflatex,因为XeTeX使用UTF-8作为内部编码,或使用minted代替源代码列表。