列表包中的令牌必须用空格分隔吗?

列表包中的令牌必须用空格分隔吗?

我正在使用带有自定义语言定义的 listings 包。在我的语言中,我有以下类型的类型:

Foo@Bar>>Baz

Bar 和 Baz 是该语言中的关键字,因此应突出显示。Foo 是任意标识符,不需要特殊的突出显示处理。

如果我用空格分隔上述标记,则一切正常。但如果我不使用空格分隔它们(如上例所示),则只会为 Baz 获得适当的突出显示,而不会为 Bar 获得适当的突出显示。

我查看了文档(http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf),但还没有找到指定 @ 符号不应成为标识符一部分的方法。我尝试将 @ 作为关键字:

keywords=[5]{@},
keywordstyle=[5]\bfseries,

但这似乎没有帮助。

有什么建议么?

答案1

没关系——我找到答案了!诀窍是将 @ 表示为“其他”字符;默认情况下,它是一个“字母”,因此包含在标识符中。这就足够了:

    alsoother={@},

相关内容