Латексное отображение C ++: ошибка с выделенными символами - PullRequest
1 голос
/ 05 мая 2010

У меня есть латексный документ с кодом C ++. Документ сохраняется в формате UTF-8.

Вот латексный код:

\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 Ответ

3 голосов
/ 05 мая 2010

Если я правильно помню, вы не можете этого сделать. Даже использование опции inputencoding работает только для символов, которые не используют более одного байта.

В качестве альтернативы используйте xelatex процессор вместо pdflatex, поскольку XeTeX использует UTF-8 в качестве внутренней кодировки или используйте minted вместо списков для исходного кода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...