如何使用 moredelim 应用两种样式?

如何使用 moredelim 应用两种样式?

我正在使用lstlistingmoredelim为列表的各个部分添加颜色。

现在,我也想强调相同的部分。

我发现我不能简单地添加\underbar

\lstdefinestyle{foo}{
  moredelim=[is][\underbar\color{red}]{@}{@}, % compiler error
}

单独使用两者会导致其中一个被忽略。

\lstdefinestyle{foo}{
  moredelim=[is][\underbar]{@}{@},
  moredelim=[is][\color{red}]{@}{@}, % only one of these is in effect
}

我怎样才能做到这一点?

答案1

只需反转\underbar即可\color{red}

平均能量损失

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstdefinestyle{foo}{
  moredelim=[is][\color{red}\underbar]{@}{@}
}
\begin{document}
\begin{lstlisting}[style=foo]
@Hello@
\end{lstlisting}
\end{document} 

输出

在此处输入图片描述

相关内容