删除 lstlisting 中突出显示的单词

Remove highlighted words in lstlisting

正如您在我的算法中看到的那样,有些单词以粗体突出显示,但我不希望变量部分中的单词以粗体显示,因为它们只是注释。但是,如果我在谈论代码,我希望这些词是粗体的,比如 upon 标记中定义的代码。我的算法是用lstlisting.

写的

我用粗体字是因为我在这里定义了[2]。

当我不想加粗时,如何删除加粗的字样?

[2] 应该加粗的词

\lstdefinelanguage{distributed}{
morekeywords={Implements,Uses,upon,event,procedure,returns,return,trigger,while,exists,such,that,do,for,forall,from,to,all,if,elif,then,else,end,endif,endwhile,and,or,break},
morekeywords={Require,Ensure,constants,variables,abort,note},
}

我认为您应该在您的语言定义中定义 "morecomment" 以正确的方式打印注释。另见

http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf

第 22 页。

这是适合我的解决方案:

\lstdefinelanguage{distributed}{
     morekeywords={Implements,Uses,upon,event,procedure,returns,return,trigger,while,exists,such,that,do,for,forall,from,to,all,if,elif,then,else,end,endif,endwhile,and,or,break},
     morekeywords={Require,Ensure,constants,variables,abort,note},
     morecomment=[l]{--},
     morecomment=[l]{//},  % l is for line comment
     morecomment=[n]{(*}{*)},
     morecomment=[is]{/*}{*/},  % s is for start and end delimiter
     morestring=[b]",
     morestring=[d]'
 }