我正在使用带有自定义语言定义的 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={@},