我想突出显示一些单词lstlisting
。语言是 HTML。但是,\emph
似乎无法使用 HTML。有什么建议可以解决这个问题吗?
现在我有:
\lstdefinestyle{htmlCode} {
language=html,
basicstyle=\scriptsize\ttfamily,
keywordstyle=\bfseries\ttfamily,
commentstyle=\color{gray}\ttfamily,
emph={time},
emphstyle=\color{green}
}
\begin{lstlisting}[style=htmlCode,caption={Html code}]
<b>Time: $time$</b>
\end{lstlisting}
答案1
您可以按以下方式使用该escapechar=<char>
选项:listings
\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{listings}
\begin{document}
\lstdefinestyle{htmlCode} {
language=html,
basicstyle=\scriptsize\ttfamily,
keywordstyle=\bfseries\ttfamily,
commentstyle=\color{gray}\ttfamily,
escapechar=| % Escape to LaTeX between |...|
}
\begin{lstlisting}[style=htmlCode,caption={Html code}]
<b>Time: $|\color{green}time|$</b>
\end{lstlisting}
\end{document}
这样做的原因可能listings
与使用标志时允许转义为 LaTeX有关mathescape=true
。这会在 周围转义$...$
,而 正是在您的time
“关键字”周围。