latex/listings 扩展/添加识字规则

latex/listings 扩展/添加识字规则

我正在看这个问题列表:识字语法但是当我尝试该解决方案时,如果我插入德语等特殊字符,它就会崩溃ä

由于这些应该由第一个文字规则转义,因此我假设第一个文字规则被下一个文字规则覆盖。

有办法解决这个问题吗?(然后可以为所有列表指定一个通用的读写规则,然后只需在读写规则中添加一些针对每种语言的内容)

答案1

一定有一些巧妙的方法可以添加到文学列表中,但我不知道。然而,就在今天,我遇到了一个非常类似的问题,对于 Matlab 代码。我只是转到 mcode.sty 文件,复制整个文学替换列表,然后添加我的。所以旧的看起来像这样

\lstset{%
  literate=%
  {(end)}{\lstbasicfont (end)}{5} % black ``end'' when indexing last vector element
  {({ }end)}{\lstbasicfont ({ }end)}{6}
  {(end{ })}{\lstbasicfont (end{ })}{6}
  {({ }end{ })}{\lstbasicfont ({ }end{ })}{7}
  {:end}{\lstbasicfont :end}{4}
  {:{ }end}{\lstbasicfont :{ }end}{5}
  {end:}{\lstbasicfont end:}{4}
  {end{ }:}{\lstbasicfont end{ }:}{5}
  {,end}{\lstbasicfont ,end}{4}
  {,{ }end}{\lstbasicfont ,{ }end}{5}
  {µ}{$\mu$}1
  {~}{{\fontfamily{ptm}\selectfont\texttildelow}}1 % get a nicer tilde character
  }

我把它改成了

\lstset{%
  literate=%
    {(end)}{\lstbasicfont (end)}{5} % black ``end'' when indexing last vector element
    {({ }end)}{\lstbasicfont ({ }end)}{6}
    {(end{ })}{\lstbasicfont (end{ })}{6}
    {({ }end{ })}{\lstbasicfont ({ }end{ })}{7}
    {:end}{\lstbasicfont :end}{4}
    {:{ }end}{\lstbasicfont :{ }end}{5}
    {end:}{\lstbasicfont end:}{4}
    {end{ }:}{\lstbasicfont end{ }:}{5}
    {,end}{\lstbasicfont ,end}{4}
    {,{ }end}{\lstbasicfont ,{ }end}{5}
    {µ}{$\mu$}1
    {~}{{\fontfamily{ptm}\selectfont\texttildelow}}1 % get a nicer tilde character
    {×}{$\times$}1 % W.E.D. added on 1/18/2021
  }

因此,如果您可以找到您正在使用的已经定义了文学列表的包,只需将其与您的添加内容一起复制并粘贴到您的文档中即可。

相关内容