列表 XML 突出显示问题 - 标签之间的值

列表 XML 突出显示问题 - 标签之间的值

我正在使用自定义样式来获取 XML 的语法突出Listings显示此主题但我遇到了标签之间的值被错误定位的问题。

我的造型是

\lstdefinelanguage{XML}
{
   basicstyle=\ttfamily\footnotesize,
   morestring=[b]", 
   moredelim=[s][\color{darkblue}]{<}{\ },
   moredelim=[s][\color{darkblue}]{</}{>},
   moredelim=[l][\color{darkblue}]{/>},
   moredelim=[l][\color{darkblue}]{>},
   morecomment=[s]{<?}{?>},
   morecomment=[s]{<!--}{-->},
   commentstyle=\color{darkgreen},
   stringstyle=\color{darkgreen},
   identifierstyle=\color{darkred}
}

并导致标签之间的值部分不同,即“作者姓名在此处”

<Author>Author name goes here</Author>

获得不同的样式。第一个空格之前的第一组字符获得与标签相同的颜色,而其余字符获得标识符样式的颜色。

我已经设法将其缩小到

moredelim=[s][\color{darkblue}]{<}{\ },

错误地定位了值中的第一个单词,但我无法找到任何解决方法。

任何能够使标签之间的值完全符合标识符风格或专门针对标签之间的值(因为我更希望它是另一种颜色)的解决方案都将受到极大的赞赏。

图像显示了错误的颜色样式

相关内容