lstlisting 环境中重音字符的奇怪显示

lstlisting 环境中重音字符的奇怪显示

当我尝试在列表环境,

因此 :

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{xcolor}
\usepackage{listings}

\lstset{
    language=bash,
    extendedchars=\true,
    inputencoding=utf8,
    classoffset=0,
    keywords={arg1},
    keywordstyle=\color{red}\bfseries,
    classoffset=1,
    keywords={arg2},
    keywordstyle=\color{blue}\bfseries,
    frame=boxshadow
}

\begin{document}

\begin{lstlisting}[title={syntaxe}]
$ ln -s arg1 arg2
arg1 : chemin (relatif ou absolu) du répertoire ou du fichier pointé
arg2 : chemin (relatif ou absolu) du lien à créer
\end{lstlisting}

\end{document}

这是我得到的:

在此处输入图片描述

注意:重读字母似乎位于非重读字母之前。

我的文档使用UTF-8编码(来自纺织厂设置)

我尝试设置列表集环境扩展字符\真的输入编码utf8。但这似乎不会对当前代码产生任何影响。

答案1

listings包不支持 UTF-8,只能处理单字节字符。您必须使用该listingsutf8包,它仅适用于\lstinputlisting命令,而不适用于lstlisting环境。

您必须更改命令inputencoding中的选项\lstset,例如:

\lstset{inputencoding=utf8/latin9}

软件包需要此listingsutf8文件来将多字节 UTF-8 字符转换为单字节字符。我怀疑你是法国人,所以 latin9 是个不错的选择。对于其他语言,其他单字节字符集可能更合适。

查看listingsutf8文档了解详细信息。

相关内容