我有一个显示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生成工作正常。
怎么了?
答案 0 :(得分:3)
如果我没记错的话,你就做不到。即使使用inputencoding
选项,也只适用于不使用多个字节的字符。
作为替代方案,请使用xelatex
处理器而不是pdflatex
,因为XeTeX使用UTF-8作为内部编码,或使用minted代替源代码列表。