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
?