如何在列表中设置 UTF8?(收到错误)

如何在列表中设置 UTF8?(收到错误)

我需要将一些 UTF8 代码复制并粘贴到列表中,但不幸的是,我收到以下错误:

! 包 inputenc 错误:Unicode 字符 \u8:\lst@FillFixed@\lst@EC\ 未设置为用于 LaTeX。

使用的键盘字符未定义

奇怪的是,我没有注意到我的 lstlisting 代码中有任何奇怪的字符(它是一些 bash 代码)。此外,我在 header 中获得了包:

 \usepackage[utf8]{inputenc}

我应该怎么办?

答案1

我刚刚用它解决了这个问题

  inputencoding=latin1

我希望它能够帮助一些与我处于同样情况的人。

答案2

列表无法处理 UTF8 字符。在文档中搜索关键字literate。然后您将看到如何将 UTF-8 字符映射到 TeX 命令,例如 ü->\"u\lstset{literate={ü}{{\"u}}1}

答案3

我解决了添加texcl=true配置\lstset的问题。

答案4

其中一些可能会有帮助(可能你不需要所有这些行):

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

\lstset{literate=% Allow for German characters in lstlistings.
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}2
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
}

在这里你会发现许多其他语言和字符的类似代码,以及针对同一问题的一些其他提示: https://stackoverflow.com/questions/1116266/listings-in-latex-with-utf-8-or-at-least-german-umlauts/15450398

PS:每当您使用 lstlisting 时,您通常希望出于其他原因添加类似这样的内容(它们不会影响您的问题):

\usepackage{listings} 
\lstset{
basicstyle=\small\ttfamily,  %Looks much better.
columns=flexible, %Without this you get fixed-width fonts, which look bad.
breaklines=true,   %End-of-line wrap - you really want this, usually.
language=tex   %Percent comments in cursive, so you distinguish them from the commands. Other languages are also available, such as C and Matlab.
}

相关内容