我使用该listings
包,并且想覆盖 HTML 样式的属性。
不幸的是,我的代码覆盖了整个 HTML 样式,而不仅仅是单个属性:
\lstloadlanguages{HTML}
\lstdefinelanguage{HTML}{ndkeywords={charset, window, document}}
有谁知道我怎样才能覆盖ndkeywords
?
答案1
包listings
允许定义样式,您可以在那里放置用于格式化特殊 HTML 代码列表的选项。此外,需要先从默认类中删除应以不同方式显示的关键字。然后,示例将这些关键字添加到类 2 中,并避免使用ndkeywords
,因为这被标记为已弃用在 的文档中listings
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[variablett]{lmodern}
\usepackage{color}
\usepackage{listings}
\lstset{
columns=fullflexible,
basicstyle=\ttfamily,
}
\lstdefinestyle{myHTML}{
language=HTML,
keywordstyle=\color{blue},
deletekeywords={charset, document, window},
morekeywords={[2]{charset, document, window}},
keywordstyle={[2]{\color{red}}},
}
\begin{document}
\begin{lstlisting}[style=myHTML]
<HTML>
<HEAD></HEAD>
<BODY>
<A href="http://tex.stackexchange.com"
charset="US-ASCII">TeX.SE</A>
</BODY>
</HTML>
\end{lstlisting}
\end{document}