我正在尝试使用 listingsutf8 包突出显示几个包含非 ASCII 字符的关键字。这是我的文档的相关部分:
\usepackage[brazilian]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{listingsutf8}
\lstset{
extendedchars=true,
inputencoding=utf8x,
keywords={Funcionalidade, Para, Como, Eu, Contexto, Cenário, Dado, Quando, Então},
literate=%
{á}{{\'a}}1
{ã}{{\~a}}1
{ç}{{\c{c}}}1
{é}{{\'e}}1
{ê}{{\^e}}1
{õ}{{\~o}}1
{ó}{{\'o}}1
}
ASCII 关键字被正确突出显示,但Cenário
和Então
关键字却没有。我也尝试过使用emph
和更改inputencoding
,但它也不起作用:
\lstset{
inputencoding=utf8/latin1,
emph={Cenário, Cen\'ario, Cenario},emphstyle={\bfseries}
}
如果相关的话,我试图突出显示的列表来自一个单独的文件,使用命令\lstinputlisting
。如果我不得不猜测,我会说它与参数有关literate
。
答案1
尝试listingsutf8包裹来自奥伯迪克捆绑。它为该\lstinputlisting
命令提供了一种解决方法。