Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I use the listings package and I want to override an attribute of the HTML style.

Unfortunately my code overrides the whole HTML style and not just a single property:

\lstloadlanguages{HTML}
\lstdefinelanguage{HTML}{ndkeywords={charset, window, document}}

Does anyone know how I can only override ndkeywords?

share|improve this question
2  
how about (for example) \lstset{emph={charset,window,document},emphstyle={\color{green!50!black}}} (for reference see page 17 of the documentation) –  cmhughes Feb 6 '13 at 2:03
    
Since you have some responses below that seem to answer your question, please consider marking one of them as ‘Accepted’ by clicking on the tickmark below their vote count (see How do you accept an answer?). This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!). It's part of this site's idea to identify good questions and answers through upvotes and acceptance of answers. –  Jubobs Mar 1 at 22:29

1 Answer 1

Package listings allows the definition of styles, there you can put the options to format the special HTML code listings. Also the keywords, which should be displayed differently, needs to be removed from the default class first. Then the example adds these keywords to class 2 and avoids the use of ndkeywords, because this is marked deprecated in the documentation of 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}

Result

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.