diff --git a/.hscolour b/.hscolour
--- a/.hscolour
+++ b/.hscolour
@@ -2,7 +2,7 @@
   { keyword  = [Underscore,Foreground Green]
   , keyglyph = [Foreground Red]
   , layout   = [Foreground Cyan]
-  , comment  = [Foreground Blue]
+  , comment  = [Foreground Blue,Italic]
   , conid    = [Normal]
   , varid    = [Normal]
   , conop    = [Bold,Foreground Red]
diff --git a/HsColour.hs b/HsColour.hs
--- a/HsColour.hs
+++ b/HsColour.hs
@@ -10,7 +10,7 @@
 import List  (intersperse)
 import Debug.Trace
 
-version = "1.11"
+version = "1.13"
 
 optionTable :: [(String,Option)]
 optionTable = [ ("help",    Help)
@@ -18,6 +18,7 @@
               , ("print-css", Information)
               , ("html",   Format HTML)
               , ("css",    Format CSS)
+              , ("icss",   Format ICSS)
               , ("tty",    Format TTY)
               , ("latex",  Format LaTeX)
               , ("mirc",   Format MIRC)
diff --git a/Language/Haskell/HsColour.hs b/Language/Haskell/HsColour.hs
--- a/Language/Haskell/HsColour.hs
+++ b/Language/Haskell/HsColour.hs
@@ -15,11 +15,12 @@
                                   hscolour) where
 
 import Language.Haskell.HsColour.Colourise (ColourPrefs(..))
-import qualified Language.Haskell.HsColour.TTY   as TTY
-import qualified Language.Haskell.HsColour.HTML  as HTML
-import qualified Language.Haskell.HsColour.CSS   as CSS
-import qualified Language.Haskell.HsColour.LaTeX as LaTeX
-import qualified Language.Haskell.HsColour.MIRC  as MIRC
+import qualified Language.Haskell.HsColour.TTY        as TTY
+import qualified Language.Haskell.HsColour.HTML       as HTML
+import qualified Language.Haskell.HsColour.CSS        as CSS
+import qualified Language.Haskell.HsColour.InlineCSS  as ICSS
+import qualified Language.Haskell.HsColour.LaTeX      as LaTeX
+import qualified Language.Haskell.HsColour.MIRC       as MIRC
 import Data.List(mapAccumL, isPrefixOf) 
 import Data.Maybe
 import Language.Haskell.HsColour.Output
@@ -52,11 +53,12 @@
           -> String      -- ^ Title for output.
           -> String      -- ^ Haskell source code.
           -> String      -- ^ Coloured Haskell source code.
-hscolour' TTY   pref _      _       _   = TTY.hscolour pref
-hscolour' MIRC  pref _      _       _   = MIRC.hscolour pref
-hscolour' LaTeX pref _      partial _   = LaTeX.hscolour pref partial
-hscolour' HTML  pref anchor partial top = HTML.hscolour pref anchor partial top
-hscolour' CSS   _    anchor partial top = CSS.hscolour anchor partial top
+hscolour' TTY   pref _    _       _   = TTY.hscolour   pref
+hscolour' MIRC  pref _    _       _   = MIRC.hscolour  pref
+hscolour' LaTeX pref _    partial _   = LaTeX.hscolour pref      partial
+hscolour' HTML  pref anch partial top = HTML.hscolour  pref anch partial top
+hscolour' CSS   _    anch partial top = CSS.hscolour        anch partial top
+hscolour' ICSS  pref anch partial top = ICSS.hscolour  pref anch partial top
 
 -- | Separating literate files into code\/comment chunks.
 data Lit = Code {unL :: String} | Lit {unL :: String} deriving (Show)
diff --git a/Language/Haskell/HsColour/ANSI.hs b/Language/Haskell/HsColour/ANSI.hs
--- a/Language/Haskell/HsColour/ANSI.hs
+++ b/Language/Haskell/HsColour/ANSI.hs
@@ -66,6 +66,7 @@
   fromEnum Concealed    = 8
   fromEnum (Foreground c) = 30 + fromEnum c
   fromEnum (Background c) = 40 + fromEnum c
+  fromEnum Italic       = 2
 
 -- | Make the given string appear with all of the listed highlights
 highlight :: [Highlight] -> String -> String
diff --git a/Language/Haskell/HsColour/ColourHighlight.hs b/Language/Haskell/HsColour/ColourHighlight.hs
--- a/Language/Haskell/HsColour/ColourHighlight.hs
+++ b/Language/Haskell/HsColour/ColourHighlight.hs
@@ -7,7 +7,7 @@
 data Colour = Black | Red | Green | Yellow | Blue | Magenta | Cyan | White
   deriving (Eq,Show,Read,Enum)
 
--- | Types of highlighting supported by ANSI codes.
+-- | Types of highlighting supported by ANSI codes (and some extra styles).
 data Highlight =
     Normal
   | Bold
@@ -18,5 +18,7 @@
   | Concealed
   | Foreground Colour
   | Background Colour
+  -- Above are ANSI-only.  Below are extra styles.
+  | Italic
   deriving (Eq,Show,Read)
 
diff --git a/Language/Haskell/HsColour/Colourise.hs b/Language/Haskell/HsColour/Colourise.hs
--- a/Language/Haskell/HsColour/Colourise.hs
+++ b/Language/Haskell/HsColour/Colourise.hs
@@ -24,7 +24,7 @@
   { keyword  = [Foreground Green,Underscore]
   , keyglyph = [Foreground Red]
   , layout   = [Foreground Cyan]
-  , comment  = [Foreground Blue]
+  , comment  = [Foreground Blue, Italic]
   , conid    = [Normal]
   , varid    = [Normal]
   , conop    = [Foreground Red,Bold]
diff --git a/Language/Haskell/HsColour/HTML.hs b/Language/Haskell/HsColour/HTML.hs
--- a/Language/Haskell/HsColour/HTML.hs
+++ b/Language/Haskell/HsColour/HTML.hs
@@ -73,6 +73,7 @@
 font Concealed      s = s
 font (Foreground c) s = "<font color="++show c++">"++s++"</font>"
 font (Background c) s = "<font bgcolor="++show c++">"++s++"</font>"
+font Italic         s = "<i>"++s++"</i>"
 
 escape ('<':cs) = "&lt;"++escape cs
 escape ('>':cs) = "&gt;"++escape cs
diff --git a/Language/Haskell/HsColour/InlineCSS.hs b/Language/Haskell/HsColour/InlineCSS.hs
new file mode 100644
--- /dev/null
+++ b/Language/Haskell/HsColour/InlineCSS.hs
@@ -0,0 +1,80 @@
+-- | Formats Haskell source code as HTML with inline CSS.
+module Language.Haskell.HsColour.InlineCSS (hscolour) where
+
+import Language.Haskell.HsColour.Anchors
+import Language.Haskell.HsColour.Classify as Classify
+import Language.Haskell.HsColour.Colourise
+import Language.Haskell.HsColour.HTML (renderAnchors, renderComment,
+                                       renderNewLinesAnchors, escape)
+
+-- | Formats Haskell source code as a complete HTML document with inline styling
+hscolour :: ColourPrefs	-- ^ Preferences for styling.
+         -> Bool   -- ^ Whether to include anchors.
+         -> Bool   -- ^ Whether output should be partial
+                   --   (= no document headers will be included.)
+         -> String -- ^ Title for HTML page.
+         -> String -- ^ Haskell source code.
+         -> String -- ^ An HTML document containing the coloured 
+                   --   Haskell source code.
+hscolour prefs anchor partial title =
+  (if partial then id else top'n'tail title)
+  . pre
+  . (if anchor 
+        then renderNewLinesAnchors
+             . concatMap (renderAnchors (renderToken prefs))
+             . insertAnchors
+        else concatMap (renderToken prefs))
+  . tokenise
+
+top'n'tail :: String -> String -> String
+top'n'tail title  = (cssPrefix title ++) . (++cssSuffix)
+
+pre :: String -> String
+pre =   ("<pre style=\"font-family:Consolas, Monaco, Monospace;\">"++)
+      . (++"</pre>")
+
+renderToken :: ColourPrefs -> (TokenType,String) -> String
+renderToken prefs (cls,text) =
+  stylise (colourise prefs cls) $
+  if cls == Comment then renderComment text else escape text
+
+stylise :: [Highlight] -> String -> String
+stylise hs s = "<span style=\"" ++ concatMap style hs ++ "\">" ++s++ "</span>"
+
+cssPrefix title = unlines
+    ["<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
+    ,"<html>"
+    ,"<head>"
+    ,"<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->"
+    ,"<title>"++title++"</title>"
+    ,"</head>"
+    ,"<body style=\"background-color: #131313; color: #ffffff;\">"
+    ]
+    
+cssSuffix = unlines
+    ["</body>"
+    ,"</html>"
+    ]
+
+style :: Highlight -> String
+style Normal         = ""
+style Bold           = "font-weight: bold;"
+style Dim            = "font-weight: lighter;"
+style Underscore     = "text-decoration: underline;"
+style Blink          = "text-decoration:  blink;"
+style ReverseVideo   = ""
+style Concealed      = "text-decoration:  line-through;"
+style (Foreground c) = "color: "++csscolour c++";"
+style (Background c) = "background-colour: "++csscolour c++";"
+style Italic         = "font-style: italic;"
+
+csscolour :: Colour -> String
+csscolour Black   = "#000000"
+csscolour Red     = "#ff0000"
+csscolour Green   = "#00ff00"
+csscolour Yellow  = "#ffff00"
+csscolour Blue    = "#0000ff"
+csscolour Magenta = "#ff00ff"
+csscolour Cyan    = "#00ffff"
+csscolour White   = "#ffffff"
+
diff --git a/Language/Haskell/HsColour/LaTeX.hs b/Language/Haskell/HsColour/LaTeX.hs
--- a/Language/Haskell/HsColour/LaTeX.hs
+++ b/Language/Haskell/HsColour/LaTeX.hs
@@ -74,6 +74,7 @@
 latexHighlight Concealed      = ("\\conceal{", "}")
 latexHighlight (Foreground c) = ("\\textcolor{"++ latexColour c ++"}{", "}")
 latexHighlight (Background c) = ("\\colorbox{"++ latexColour c ++"}{", "}")
+latexHighlight Italic         = ("{\\it{}", "}")
 
 -- | Translate a 'Colour' into a LaTeX colour name.
 latexColour :: Colour -> String
diff --git a/Language/Haskell/HsColour/Output.hs b/Language/Haskell/HsColour/Output.hs
--- a/Language/Haskell/HsColour/Output.hs
+++ b/Language/Haskell/HsColour/Output.hs
@@ -5,5 +5,6 @@
             | LaTeX -- ^ TeX macros
             | HTML  -- ^ HTML with font tags
             | CSS   -- ^ HTML with CSS.
+            | ICSS  -- ^ HTML with inline CSS.
             | MIRC  -- ^ mIRC chat clients
   deriving (Eq,Show)
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 LIBRARY	= hscolour
-VERSION	= 1.12
+VERSION	= 1.13
 
 DIRS	= Language/Haskell/HsColour
 
@@ -12,6 +12,7 @@
 	  Language/Haskell/HsColour/ColourHighlight.hs \
 	  Language/Haskell/HsColour/Colourise.hs \
 	  Language/Haskell/HsColour/HTML.hs \
+	  Language/Haskell/HsColour/InlineCSS.hs \
 	  Language/Haskell/HsColour/LaTeX.hs \
 	  Language/Haskell/HsColour/TTY.hs \
 	  Language/Haskell/HsColour/MIRC.hs \
diff --git a/README b/README
--- a/README
+++ b/README
@@ -10,21 +10,22 @@
 
 Usage:
     HsColour [-Ofile]
-             [ -tty | -html | -css | -latex | -mirc ]
+             [ -tty | -html | -css | -icss | -latex | -mirc ]
              [ -lit | -lit-tex | -anchor  | -partial ]
              [ -nolit          | -noanchor| -nopartial ]
              [file.hs]
 
 The program can colourise a Haskell source file for either terminal
 output (option -tty), or HTML 3.2 output with font tags (option -html),
-or HTML 4.01 output with CSS (option -css), or LaTeX output (option
--latex), or IRC chat client (option -mirc).  The default is for terminal
-output, which uses standard ANSI screen codes for the colours.
+or HTML 4.01 output with CSS (option -css), or XHTML 1.0 output with
+inline styling (option -icss) or LaTeX output (option -latex), or IRC
+chat client (option -mirc).  The default is for terminal output, which
+uses standard ANSI screen codes for the colours.
 
 If no file argument is given, it reads standard input.  Output is
 written to the file specified by the -O option, or by default, stdout.
 
-HsColour can add named anchors in HTML or CSS (option -anchor) to
+HsColour can add named anchors in HTML or CSS or ICSS (option -anchor) to
 top-level definitions in the source file (functions, datatypes,
 classes).  This enables you to make links to a specific location in the
 generated file with the standard "file.html#anchor" notation.
@@ -64,6 +65,7 @@
     | Concealed
     | Foreground Colour
     | Background Colour
+    | Italic
 
 For CSS output, it is sufficient to edit the hscolour.css file, also in
 the distribution.
diff --git a/docs/hscolour/Language-Haskell-HsColour-ANSI.html b/docs/hscolour/Language-Haskell-HsColour-ANSI.html
--- a/docs/hscolour/Language-Haskell-HsColour-ANSI.html
+++ b/docs/hscolour/Language-Haskell-HsColour-ANSI.html
@@ -190,6 +190,12 @@
 >Colour</A
 ></TD
 ></TR
+><TR
+><TD CLASS="decl"
+>| <A HREF="#v%3AItalic"
+>Italic</A
+></TD
+></TR
 ></TABLE
 ></TD
 ></TR
@@ -413,7 +419,7 @@
 ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
 ><TR
 ><TD CLASS="ndoc"
->Types of highlighting supported by ANSI codes.
+>Types of highlighting supported by ANSI codes (and some extra styles).
 </TD
 ></TR
 ><TR
@@ -513,6 +519,16 @@
 >Background</B
 > <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"
 >Colour</A
+></TD
+><TD CLASS="rdoc"
+></TD
+></TR
+><TR
+><TD CLASS="arg"
+><A NAME="v%3AItalic"
+></A
+><B
+>Italic</B
 ></TD
 ><TD CLASS="rdoc"
 ></TD
diff --git a/docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html b/docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html
--- a/docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html
+++ b/docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html
@@ -221,6 +221,12 @@
 >Colour</A
 ></TD
 ></TR
+><TR
+><TD CLASS="decl"
+>| <A HREF="#v%3AItalic"
+>Italic</A
+></TD
+></TR
 ></TABLE
 ></TD
 ></TR
@@ -429,7 +435,7 @@
 ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
 ><TR
 ><TD CLASS="ndoc"
->Types of highlighting supported by ANSI codes.
+>Types of highlighting supported by ANSI codes (and some extra styles).
 </TD
 ></TR
 ><TR
@@ -529,6 +535,16 @@
 >Background</B
 > <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"
 >Colour</A
+></TD
+><TD CLASS="rdoc"
+></TD
+></TR
+><TR
+><TD CLASS="arg"
+><A NAME="v%3AItalic"
+></A
+><B
+>Italic</B
 ></TD
 ><TD CLASS="rdoc"
 ></TD
diff --git a/docs/hscolour/Language-Haskell-HsColour-InlineCSS.html b/docs/hscolour/Language-Haskell-HsColour-InlineCSS.html
new file mode 100644
--- /dev/null
+++ b/docs/hscolour/Language-Haskell-HsColour-InlineCSS.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--Rendered using the Haskell Html Library v0.2-->
+<HTML
+><HEAD
+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
+><TITLE
+>Language.Haskell.HsColour.InlineCSS</TITLE
+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
+><SCRIPT SRC="haddock.js" TYPE="text/javascript"
+></SCRIPT
+></HEAD
+><BODY
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="topbar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
+></TD
+><TD CLASS="title"
+>hscolour</TD
+><TD CLASS="topbut"
+><A HREF="Language/Haskell/HsColour/InlineCSS.html"
+>Source code</A
+></TD
+><TD CLASS="topbut"
+><A HREF="index.html"
+>Contents</A
+></TD
+><TD CLASS="topbut"
+><A HREF="doc-index.html"
+>Index</A
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="modulebar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><FONT SIZE="6"
+>Language.Haskell.HsColour.InlineCSS</FONT
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Description</TD
+></TR
+><TR
+><TD CLASS="doc"
+>Formats Haskell source code as HTML with inline CSS.
+</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Synopsis</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="body"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="decl"
+><A HREF="#v%3Ahscolour"
+>hscolour</A
+> :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"
+>ColourPrefs</A
+> -&gt; Bool -&gt; Bool -&gt; String -&gt; String -&gt; String</TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Documentation</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="topdecl"
+><TABLE CLASS="declbar"
+><TR
+><TD CLASS="declname"
+><A NAME="v%3Ahscolour"
+></A
+><B
+>hscolour</B
+></TD
+><TD CLASS="declbut"
+><A HREF="Language/Haskell/HsColour/InlineCSS.html#hscolour"
+>Source</A
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="body"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="arg"
+>:: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"
+>ColourPrefs</A
+></TD
+><TD CLASS="rdoc"
+>Preferences for styling.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+>-&gt; Bool</TD
+><TD CLASS="rdoc"
+>Whether to include anchors.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+>-&gt; Bool</TD
+><TD CLASS="rdoc"
+>Whether output should be partial
+   (= no document headers will be included.)
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+>-&gt; String</TD
+><TD CLASS="rdoc"
+>Title for HTML page.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+>-&gt; String</TD
+><TD CLASS="rdoc"
+>Haskell source code.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+>-&gt; String</TD
+><TD CLASS="rdoc"
+>An HTML document containing the coloured 
+   Haskell source code.
+</TD
+></TR
+><TR
+><TD CLASS="ndoc" COLSPAN="2"
+>Formats Haskell source code as a complete HTML document with inline styling
+</TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="botbar"
+>Produced by <A HREF="http://www.haskell.org/haddock/"
+>Haddock</A
+> version 0.8</TD
+></TR
+></TABLE
+></BODY
+></HTML
+>
diff --git a/docs/hscolour/Language-Haskell-HsColour-Options.html b/docs/hscolour/Language-Haskell-HsColour-Options.html
--- a/docs/hscolour/Language-Haskell-HsColour-Options.html
+++ b/docs/hscolour/Language-Haskell-HsColour-Options.html
@@ -199,6 +199,12 @@
 ></TR
 ><TR
 ><TD CLASS="decl"
+>| <A HREF="#v%3AICSS"
+>ICSS</A
+></TD
+></TR
+><TR
+><TD CLASS="decl"
 >| <A HREF="#v%3AMIRC"
 >MIRC</A
 ></TD
@@ -510,6 +516,17 @@
 ></TD
 ><TD CLASS="rdoc"
 >HTML with CSS.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+><A NAME="v%3AICSS"
+></A
+><B
+>ICSS</B
+></TD
+><TD CLASS="rdoc"
+>HTML with inline CSS.
 </TD
 ></TR
 ><TR
diff --git a/docs/hscolour/Language-Haskell-HsColour-Output.html b/docs/hscolour/Language-Haskell-HsColour-Output.html
--- a/docs/hscolour/Language-Haskell-HsColour-Output.html
+++ b/docs/hscolour/Language-Haskell-HsColour-Output.html
@@ -117,6 +117,12 @@
 ></TR
 ><TR
 ><TD CLASS="decl"
+>| <A HREF="#v%3AICSS"
+>ICSS</A
+></TD
+></TR
+><TR
+><TD CLASS="decl"
 >| <A HREF="#v%3AMIRC"
 >MIRC</A
 ></TD
@@ -219,6 +225,17 @@
 ></TD
 ><TD CLASS="rdoc"
 >HTML with CSS.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+><A NAME="v%3AICSS"
+></A
+><B
+>ICSS</B
+></TD
+><TD CLASS="rdoc"
+>HTML with inline CSS.
 </TD
 ></TR
 ><TR
diff --git a/docs/hscolour/Language-Haskell-HsColour.html b/docs/hscolour/Language-Haskell-HsColour.html
--- a/docs/hscolour/Language-Haskell-HsColour.html
+++ b/docs/hscolour/Language-Haskell-HsColour.html
@@ -146,6 +146,12 @@
 ></TR
 ><TR
 ><TD CLASS="decl"
+>| <A HREF="#v%3AICSS"
+>ICSS</A
+></TD
+></TR
+><TR
+><TD CLASS="decl"
 >| <A HREF="#v%3AMIRC"
 >MIRC</A
 ></TD
@@ -316,6 +322,17 @@
 ></TD
 ><TD CLASS="rdoc"
 >HTML with CSS.
+</TD
+></TR
+><TR
+><TD CLASS="arg"
+><A NAME="v%3AICSS"
+></A
+><B
+>ICSS</B
+></TD
+><TD CLASS="rdoc"
+>HTML with inline CSS.
 </TD
 ></TR
 ><TR
diff --git a/docs/hscolour/Language/Haskell/HsColour.html b/docs/hscolour/Language/Haskell/HsColour.html
--- a/docs/hscolour/Language/Haskell/HsColour.html
+++ b/docs/hscolour/Language/Haskell/HsColour.html
@@ -5,102 +5,104 @@
 <title>Language/Haskell/HsColour.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | This is a library which colourises Haskell code.</font>
-<a name="line-2"></a><font color=Blue>--   It currently has five output formats:</font>
-<a name="line-3"></a><font color=Blue>--</font>
-<a name="line-4"></a><font color=Blue>-- * ANSI terminal codes</font>
-<a name="line-5"></a><font color=Blue>--</font>
-<a name="line-6"></a><font color=Blue>-- * LaTeX macros</font>
-<a name="line-7"></a><font color=Blue>--</font>
-<a name="line-8"></a><font color=Blue>-- * HTML with font tags</font>
-<a name="line-9"></a><font color=Blue>--</font>
-<a name="line-10"></a><font color=Blue>-- * HTML with CSS.</font>
-<a name="line-11"></a><font color=Blue>--</font>
-<a name="line-12"></a><font color=Blue>-- * mIRC chat client colour codes.</font>
-<a name="line-13"></a><font color=Blue>--</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | This is a library which colourises Haskell code.</i></font>
+<a name="line-2"></a><font color=Blue><i>--   It currently has five output formats:</i></font>
+<a name="line-3"></a><font color=Blue><i>--</i></font>
+<a name="line-4"></a><font color=Blue><i>-- * ANSI terminal codes</i></font>
+<a name="line-5"></a><font color=Blue><i>--</i></font>
+<a name="line-6"></a><font color=Blue><i>-- * LaTeX macros</i></font>
+<a name="line-7"></a><font color=Blue><i>--</i></font>
+<a name="line-8"></a><font color=Blue><i>-- * HTML with font tags</i></font>
+<a name="line-9"></a><font color=Blue><i>--</i></font>
+<a name="line-10"></a><font color=Blue><i>-- * HTML with CSS.</i></font>
+<a name="line-11"></a><font color=Blue><i>--</i></font>
+<a name="line-12"></a><font color=Blue><i>-- * mIRC chat client colour codes.</i></font>
+<a name="line-13"></a><font color=Blue><i>--</i></font>
 <a name="line-14"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour <font color=Cyan>(</font>Output<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> ColourPrefs<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font>
 <a name="line-15"></a>                                  hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-16"></a>
 <a name="line-17"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise <font color=Cyan>(</font>ColourPrefs<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-18"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>TTY   <u><font color=Green>as</font></u> TTY
-<a name="line-19"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML  <u><font color=Green>as</font></u> HTML
-<a name="line-20"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>CSS   <u><font color=Green>as</font></u> CSS
-<a name="line-21"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>LaTeX <u><font color=Green>as</font></u> LaTeX
-<a name="line-22"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>MIRC  <u><font color=Green>as</font></u> MIRC
-<a name="line-23"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>List<font color=Cyan>(</font>mapAccumL<font color=Cyan>,</font> isPrefixOf<font color=Cyan>)</font> 
-<a name="line-24"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Maybe
-<a name="line-25"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Output
-<a name="line-26"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Options <font color=Cyan>(</font>Literate<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-27"></a><u><font color=Green>import</font></u> Debug<font color=Cyan>.</font>Trace
-<a name="line-28"></a>
-<a name="line-29"></a><a name="hscolour"></a><font color=Blue>-- | Colourise Haskell source code with the given output format.</font>
-<a name="line-30"></a>hscolour <font color=Red>::</font> Output      <font color=Blue>-- ^ Output format.</font>
-<a name="line-31"></a>         <font color=Red>-&gt;</font> ColourPrefs <font color=Blue>-- ^ Colour preferences (for formats that support them).</font>
-<a name="line-32"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>
-<a name="line-33"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output document is partial or complete.</font>
-<a name="line-34"></a>         <font color=Red>-&gt;</font> Literate    <font color=Blue>-- ^ Whether input document is literate haskell or not</font>
-<a name="line-35"></a>         <font color=Red>-&gt;</font> String	<font color=Blue>-- ^ Title for output.</font>
-<a name="line-36"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-37"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>
-<a name="line-38"></a>hscolour output pref anchor partial literate title <font color=Red>=</font>
-<a name="line-39"></a>  <u><font color=Green>case</font></u> literate <u><font color=Green>of</font></u>
-<a name="line-40"></a>    NoLit <font color=Red>-&gt;</font> hscolour' output pref anchor partial title
-<a name="line-41"></a>    Bird  <font color=Red>-&gt;</font> literateHandler <font color=Cyan>(</font>map lhsClassify<font color=Cyan>)</font>
-<a name="line-42"></a>    TeX   <font color=Red>-&gt;</font> literateHandler <font color=Cyan>(</font>snd <font color=Cyan>.</font> mapAccumL decideTypeOfLine False<font color=Cyan>)</font>
-<a name="line-43"></a>  <u><font color=Green>where</font></u>
-<a name="line-44"></a>    literateHandler f <font color=Red>=</font> concatMap chunk <font color=Cyan>.</font> joinL <font color=Cyan>.</font> f <font color=Cyan>.</font> inlines
-<a name="line-45"></a>    chunk <font color=Cyan>(</font>Lit c<font color=Cyan>)</font>     <font color=Red>=</font> c
-<a name="line-46"></a>    chunk <font color=Cyan>(</font>Code c<font color=Cyan>)</font>    <font color=Red>=</font> hscolour' output pref anchor True title c
-<a name="line-47"></a>
-<a name="line-48"></a><a name="hscolour'"></a>hscolour' <font color=Red>::</font> Output      <font color=Blue>-- ^ Output format.</font>
-<a name="line-49"></a>          <font color=Red>-&gt;</font> ColourPrefs <font color=Blue>-- ^ Colour preferences (for formats that support them).</font>
-<a name="line-50"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>
-<a name="line-51"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output document is partial or complete.</font>
-<a name="line-52"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Title for output.</font>
-<a name="line-53"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-54"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>
-<a name="line-55"></a>hscolour' TTY   pref <u><font color=Green>_</font></u>      <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> TTY<font color=Cyan>.</font>hscolour pref
-<a name="line-56"></a>hscolour' MIRC  pref <u><font color=Green>_</font></u>      <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> MIRC<font color=Cyan>.</font>hscolour pref
-<a name="line-57"></a>hscolour' LaTeX pref <u><font color=Green>_</font></u>      partial <u><font color=Green>_</font></u>   <font color=Red>=</font> LaTeX<font color=Cyan>.</font>hscolour pref partial
-<a name="line-58"></a>hscolour' HTML  pref anchor partial top <font color=Red>=</font> HTML<font color=Cyan>.</font>hscolour pref anchor partial top
-<a name="line-59"></a>hscolour' CSS   <u><font color=Green>_</font></u>    anchor partial top <font color=Red>=</font> CSS<font color=Cyan>.</font>hscolour anchor partial top
-<a name="line-60"></a>
-<a name="line-61"></a><a name="Lit"></a><font color=Blue>-- | Separating literate files into code\/comment chunks.</font>
-<a name="line-62"></a><a name="Lit"></a><u><font color=Green>data</font></u> Lit <font color=Red>=</font> Code <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <font color=Red>|</font> Lit <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Show<font color=Cyan>)</font>
-<a name="line-63"></a>
-<a name="line-64"></a><a name="inlines"></a><font color=Blue>-- Re-implementation of 'lines', for better efficiency (but decreased laziness).</font>
-<a name="line-65"></a><font color=Blue>-- Also, importantly, accepts non-standard DOS and Mac line ending characters.</font>
-<a name="line-66"></a><font color=Blue>-- And retains the trailing '\n' character in each resultant string.</font>
-<a name="line-67"></a>inlines <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="line-68"></a>inlines s <font color=Red>=</font> lines' s id
-<a name="line-69"></a>  <u><font color=Green>where</font></u>
-<a name="line-70"></a>  lines' []             acc <font color=Red>=</font> <font color=Red>[</font>acc []<font color=Red>]</font>
-<a name="line-71"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><b><font color=Red>:</font></b><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- DOS</font>
-<a name="line-72"></a><font color=Blue>--lines' ('\^M':s)      acc = acc ['\n'] : lines' s id	-- MacOS</font>
-<a name="line-73"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font>       acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- Unix</font>
-<a name="line-74"></a>  lines' <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font>          acc <font color=Red>=</font> lines' s <font color=Cyan>(</font>acc <font color=Cyan>.</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-75"></a>
-<a name="line-76"></a><a name="lhsClassify"></a><font color=Blue>-- Note, I just pass the &gt; symbol to the colouriser, which assumes that</font>
-<a name="line-77"></a><font color=Blue>-- it's token based and not parse-based!!!</font>
-<a name="line-78"></a>lhsClassify <font color=Red>::</font> String <font color=Red>-&gt;</font> Lit
-<a name="line-79"></a>lhsClassify <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>  <font color=Red>=</font> Code <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
-<a name="line-80"></a>lhsClassify xs        <font color=Red>=</font> Lit  xs
-<a name="line-81"></a>
-<a name="line-82"></a><a name="decideTypeOfLine"></a><font color=Blue>-- texstyle is a bool indicating whether we are currently inside a code block</font>
-<a name="line-83"></a>decideTypeOfLine texStyle current_line 
-<a name="line-84"></a> <font color=Red>|</font> isPrefix <font color=Magenta>"\\begin{code}"</font> <font color=Red>=</font> codeLine
-<a name="line-85"></a> <font color=Red>|</font> texStyle <font color=Red>=</font> <u><font color=Green>if</font></u> not is_end <u><font color=Green>then</font></u> codeLine <u><font color=Green>else</font></u> <font color=Cyan>(</font>False<font color=Cyan>,</font> Code <font color=Cyan>(</font>current_line <font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-86"></a> <font color=Red>|</font> otherwise <font color=Red>=</font> <font color=Cyan>(</font>False<font color=Cyan>,</font> Lit current_line<font color=Cyan>)</font>
-<a name="line-87"></a>     <u><font color=Green>where</font></u> isPrefix <font color=Red>=</font> flip isPrefixOf current_line 
-<a name="line-88"></a>           codeLine <font color=Red>=</font> <font color=Cyan>(</font>True<font color=Cyan>,</font> Code <font color=Cyan>(</font>current_line<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-89"></a>           is_end <font color=Red>=</font> isPrefix <font color=Magenta>"\\end{code}"</font>
-<a name="line-90"></a>
-<a name="line-91"></a><a name="joinL"></a>joinL <font color=Red>::</font> <font color=Red>[</font>Lit<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Lit<font color=Red>]</font>
-<a name="line-92"></a>joinL []                  <font color=Red>=</font> []
-<a name="line-93"></a>joinL <font color=Cyan>(</font>Code c<b><font color=Red>:</font></b>Code c2<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Code <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
-<a name="line-94"></a>joinL <font color=Cyan>(</font>Lit c <b><font color=Red>:</font></b>Lit c2 <b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Lit  <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
-<a name="line-95"></a>joinL <font color=Cyan>(</font>any<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>            <font color=Red>=</font> any<b><font color=Red>:</font></b> joinL xs
-<a name="line-96"></a>
+<a name="line-18"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>TTY        <u><font color=Green>as</font></u> TTY
+<a name="line-19"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML       <u><font color=Green>as</font></u> HTML
+<a name="line-20"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>CSS        <u><font color=Green>as</font></u> CSS
+<a name="line-21"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>InlineCSS  <u><font color=Green>as</font></u> ICSS
+<a name="line-22"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>LaTeX      <u><font color=Green>as</font></u> LaTeX
+<a name="line-23"></a><u><font color=Green>import</font></u> <u><font color=Green>qualified</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>MIRC       <u><font color=Green>as</font></u> MIRC
+<a name="line-24"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>List<font color=Cyan>(</font>mapAccumL<font color=Cyan>,</font> isPrefixOf<font color=Cyan>)</font> 
+<a name="line-25"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Maybe
+<a name="line-26"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Output
+<a name="line-27"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Options <font color=Cyan>(</font>Literate<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-28"></a><u><font color=Green>import</font></u> Debug<font color=Cyan>.</font>Trace
+<a name="line-29"></a>
+<a name="line-30"></a><a name="hscolour"></a><font color=Blue><i>-- | Colourise Haskell source code with the given output format.</i></font>
+<a name="line-31"></a>hscolour <font color=Red>::</font> Output      <font color=Blue><i>-- ^ Output format.</i></font>
+<a name="line-32"></a>         <font color=Red>-&gt;</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences (for formats that support them).</i></font>
+<a name="line-33"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether to include anchors.</i></font>
+<a name="line-34"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether output document is partial or complete.</i></font>
+<a name="line-35"></a>         <font color=Red>-&gt;</font> Literate    <font color=Blue><i>-- ^ Whether input document is literate haskell or not</i></font>
+<a name="line-36"></a>         <font color=Red>-&gt;</font> String	<font color=Blue><i>-- ^ Title for output.</i></font>
+<a name="line-37"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-38"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Coloured Haskell source code.</i></font>
+<a name="line-39"></a>hscolour output pref anchor partial literate title <font color=Red>=</font>
+<a name="line-40"></a>  <u><font color=Green>case</font></u> literate <u><font color=Green>of</font></u>
+<a name="line-41"></a>    NoLit <font color=Red>-&gt;</font> hscolour' output pref anchor partial title
+<a name="line-42"></a>    Bird  <font color=Red>-&gt;</font> literateHandler <font color=Cyan>(</font>map lhsClassify<font color=Cyan>)</font>
+<a name="line-43"></a>    TeX   <font color=Red>-&gt;</font> literateHandler <font color=Cyan>(</font>snd <font color=Cyan>.</font> mapAccumL decideTypeOfLine False<font color=Cyan>)</font>
+<a name="line-44"></a>  <u><font color=Green>where</font></u>
+<a name="line-45"></a>    literateHandler f <font color=Red>=</font> concatMap chunk <font color=Cyan>.</font> joinL <font color=Cyan>.</font> f <font color=Cyan>.</font> inlines
+<a name="line-46"></a>    chunk <font color=Cyan>(</font>Lit c<font color=Cyan>)</font>     <font color=Red>=</font> c
+<a name="line-47"></a>    chunk <font color=Cyan>(</font>Code c<font color=Cyan>)</font>    <font color=Red>=</font> hscolour' output pref anchor True title c
+<a name="line-48"></a>
+<a name="line-49"></a><a name="hscolour'"></a>hscolour' <font color=Red>::</font> Output      <font color=Blue><i>-- ^ Output format.</i></font>
+<a name="line-50"></a>          <font color=Red>-&gt;</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences (for formats that support them).</i></font>
+<a name="line-51"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether to include anchors.</i></font>
+<a name="line-52"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether output document is partial or complete.</i></font>
+<a name="line-53"></a>          <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Title for output.</i></font>
+<a name="line-54"></a>          <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-55"></a>          <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Coloured Haskell source code.</i></font>
+<a name="line-56"></a>hscolour' TTY   pref <u><font color=Green>_</font></u>    <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> TTY<font color=Cyan>.</font>hscolour   pref
+<a name="line-57"></a>hscolour' MIRC  pref <u><font color=Green>_</font></u>    <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> MIRC<font color=Cyan>.</font>hscolour  pref
+<a name="line-58"></a>hscolour' LaTeX pref <u><font color=Green>_</font></u>    partial <u><font color=Green>_</font></u>   <font color=Red>=</font> LaTeX<font color=Cyan>.</font>hscolour pref      partial
+<a name="line-59"></a>hscolour' HTML  pref anch partial top <font color=Red>=</font> HTML<font color=Cyan>.</font>hscolour  pref anch partial top
+<a name="line-60"></a>hscolour' CSS   <u><font color=Green>_</font></u>    anch partial top <font color=Red>=</font> CSS<font color=Cyan>.</font>hscolour        anch partial top
+<a name="line-61"></a>hscolour' ICSS  pref anch partial top <font color=Red>=</font> ICSS<font color=Cyan>.</font>hscolour  pref anch partial top
+<a name="line-62"></a>
+<a name="line-63"></a><a name="Lit"></a><font color=Blue><i>-- | Separating literate files into code\/comment chunks.</i></font>
+<a name="line-64"></a><a name="Lit"></a><u><font color=Green>data</font></u> Lit <font color=Red>=</font> Code <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <font color=Red>|</font> Lit <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Show<font color=Cyan>)</font>
+<a name="line-65"></a>
+<a name="line-66"></a><a name="inlines"></a><font color=Blue><i>-- Re-implementation of 'lines', for better efficiency (but decreased laziness).</i></font>
+<a name="line-67"></a><font color=Blue><i>-- Also, importantly, accepts non-standard DOS and Mac line ending characters.</i></font>
+<a name="line-68"></a><font color=Blue><i>-- And retains the trailing '\n' character in each resultant string.</i></font>
+<a name="line-69"></a>inlines <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
+<a name="line-70"></a>inlines s <font color=Red>=</font> lines' s id
+<a name="line-71"></a>  <u><font color=Green>where</font></u>
+<a name="line-72"></a>  lines' []             acc <font color=Red>=</font> <font color=Red>[</font>acc []<font color=Red>]</font>
+<a name="line-73"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><b><font color=Red>:</font></b><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue><i>-- DOS</i></font>
+<a name="line-74"></a><font color=Blue><i>--lines' ('\^M':s)      acc = acc ['\n'] : lines' s id	-- MacOS</i></font>
+<a name="line-75"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font>       acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue><i>-- Unix</i></font>
+<a name="line-76"></a>  lines' <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font>          acc <font color=Red>=</font> lines' s <font color=Cyan>(</font>acc <font color=Cyan>.</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b><font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-77"></a>
+<a name="line-78"></a><a name="lhsClassify"></a><font color=Blue><i>-- Note, I just pass the &gt; symbol to the colouriser, which assumes that</i></font>
+<a name="line-79"></a><font color=Blue><i>-- it's token based and not parse-based!!!</i></font>
+<a name="line-80"></a>lhsClassify <font color=Red>::</font> String <font color=Red>-&gt;</font> Lit
+<a name="line-81"></a>lhsClassify <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>  <font color=Red>=</font> Code <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
+<a name="line-82"></a>lhsClassify xs        <font color=Red>=</font> Lit  xs
+<a name="line-83"></a>
+<a name="line-84"></a><a name="decideTypeOfLine"></a><font color=Blue><i>-- texstyle is a bool indicating whether we are currently inside a code block</i></font>
+<a name="line-85"></a>decideTypeOfLine texStyle current_line 
+<a name="line-86"></a> <font color=Red>|</font> isPrefix <font color=Magenta>"\\begin{code}"</font> <font color=Red>=</font> codeLine
+<a name="line-87"></a> <font color=Red>|</font> texStyle <font color=Red>=</font> <u><font color=Green>if</font></u> not is_end <u><font color=Green>then</font></u> codeLine <u><font color=Green>else</font></u> <font color=Cyan>(</font>False<font color=Cyan>,</font> Code <font color=Cyan>(</font>current_line <font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-88"></a> <font color=Red>|</font> otherwise <font color=Red>=</font> <font color=Cyan>(</font>False<font color=Cyan>,</font> Lit current_line<font color=Cyan>)</font>
+<a name="line-89"></a>     <u><font color=Green>where</font></u> isPrefix <font color=Red>=</font> flip isPrefixOf current_line 
+<a name="line-90"></a>           codeLine <font color=Red>=</font> <font color=Cyan>(</font>True<font color=Cyan>,</font> Code <font color=Cyan>(</font>current_line<font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-91"></a>           is_end <font color=Red>=</font> isPrefix <font color=Magenta>"\\end{code}"</font>
+<a name="line-92"></a>
+<a name="line-93"></a><a name="joinL"></a>joinL <font color=Red>::</font> <font color=Red>[</font>Lit<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Lit<font color=Red>]</font>
+<a name="line-94"></a>joinL []                  <font color=Red>=</font> []
+<a name="line-95"></a>joinL <font color=Cyan>(</font>Code c<b><font color=Red>:</font></b>Code c2<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Code <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
+<a name="line-96"></a>joinL <font color=Cyan>(</font>Lit c <b><font color=Red>:</font></b>Lit c2 <b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Lit  <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>
+<a name="line-97"></a>joinL <font color=Cyan>(</font>any<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>            <font color=Red>=</font> any<b><font color=Red>:</font></b> joinL xs
+<a name="line-98"></a>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/ANSI.html b/docs/hscolour/Language/Haskell/HsColour/ANSI.html
--- a/docs/hscolour/Language/Haskell/HsColour/ANSI.html
+++ b/docs/hscolour/Language/Haskell/HsColour/ANSI.html
@@ -5,7 +5,7 @@
 <title>Language/Haskell/HsColour/ANSI.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Partially taken from Hugs AnsiScreen.hs library:</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Partially taken from Hugs AnsiScreen.hs library:</i></font>
 <a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ANSI
 <a name="line-3"></a>  <font color=Cyan>(</font> highlightOn
 <a name="line-4"></a>  <font color=Cyan>,</font> highlightOff
@@ -27,15 +27,15 @@
 <a name="line-20"></a><u><font color=Green>import</font></u> Char <font color=Cyan>(</font>isDigit<font color=Cyan>)</font>
 <a name="line-21"></a>
 <a name="line-22"></a>
-<a name="line-23"></a><font color=Blue>-- Basic screen control codes:</font>
+<a name="line-23"></a><font color=Blue><i>-- Basic screen control codes:</i></font>
 <a name="line-24"></a>
 <a name="line-25"></a><a name="Pos"></a><u><font color=Green>type</font></u> Pos           <font color=Red>=</font> <font color=Cyan>(</font>Int<font color=Cyan>,</font>Int<font color=Cyan>)</font>
 <a name="line-26"></a>
 <a name="line-27"></a><a name="at"></a>at        <font color=Red>::</font> Pos <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="line-28"></a><a name="goto"></a><font color=Blue>-- | Move the screen cursor to the given position.</font>
+<a name="line-28"></a><a name="goto"></a><font color=Blue><i>-- | Move the screen cursor to the given position.</i></font>
 <a name="line-29"></a>goto      <font color=Red>::</font> Int <font color=Red>-&gt;</font> Int <font color=Red>-&gt;</font> String
 <a name="line-30"></a><a name="home"></a>home      <font color=Red>::</font> String
-<a name="line-31"></a><a name="cls"></a><font color=Blue>-- | Clear the screen.</font>
+<a name="line-31"></a><a name="cls"></a><font color=Blue><i>-- | Clear the screen.</i></font>
 <a name="line-32"></a>cls       <font color=Red>::</font> String
 <a name="line-33"></a>
 <a name="line-34"></a>at <font color=Cyan>(</font>x<font color=Cyan>,</font>y<font color=Cyan>)</font> s  <font color=Red>=</font> goto x y <font color=Cyan>++</font> s
@@ -52,16 +52,16 @@
 <a name="line-45"></a><a name="clearline"></a>clearline   <font color=Red>=</font> <font color=Magenta>"\ESC[2K"</font>
 <a name="line-46"></a><a name="clearDown"></a>clearDown   <font color=Red>=</font> <font color=Magenta>"\ESC[J"</font>
 <a name="line-47"></a><a name="clearUp"></a>clearUp     <font color=Red>=</font> <font color=Magenta>"\ESC[1J"</font>
-<a name="line-48"></a><font color=Blue>-- Choose whichever of the following lines is suitable for your system:</font>
-<a name="line-49"></a>cls         <font color=Red>=</font> <font color=Magenta>"\ESC[2J"</font>     <font color=Blue>-- for PC with ANSI.SYS</font>
-<a name="line-50"></a><font color=Blue>--cls         = "\^L"         -- for Sun window</font>
+<a name="line-48"></a><font color=Blue><i>-- Choose whichever of the following lines is suitable for your system:</i></font>
+<a name="line-49"></a>cls         <font color=Red>=</font> <font color=Magenta>"\ESC[2J"</font>     <font color=Blue><i>-- for PC with ANSI.SYS</i></font>
+<a name="line-50"></a><font color=Blue><i>--cls         = "\^L"         -- for Sun window</i></font>
 <a name="line-51"></a>
 <a name="line-52"></a><a name="savePosition"></a>savePosition    <font color=Red>=</font> <font color=Magenta>"\ESC7"</font>
 <a name="line-53"></a><a name="restorePosition"></a>restorePosition <font color=Red>=</font> <font color=Magenta>"\ESC8"</font>
 <a name="line-54"></a>
 <a name="line-55"></a>
-<a name="line-56"></a><font color=Blue>-- data Colour    -- imported from ColourHighlight</font>
-<a name="line-57"></a><font color=Blue>-- data Highlight -- imported from ColourHighlight</font>
+<a name="line-56"></a><font color=Blue><i>-- data Colour    -- imported from ColourHighlight</i></font>
+<a name="line-57"></a><font color=Blue><i>-- data Highlight -- imported from ColourHighlight</i></font>
 <a name="line-58"></a>
 <a name="line-59"></a><u><font color=Green>instance</font></u> Enum Highlight <u><font color=Green>where</font></u>
 <a name="line-60"></a>  fromEnum Normal       <font color=Red>=</font> <font color=Magenta>0</font>
@@ -73,34 +73,35 @@
 <a name="line-66"></a>  fromEnum Concealed    <font color=Red>=</font> <font color=Magenta>8</font>
 <a name="line-67"></a>  fromEnum <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>30</font> <font color=Cyan>+</font> fromEnum c
 <a name="line-68"></a>  fromEnum <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>40</font> <font color=Cyan>+</font> fromEnum c
-<a name="line-69"></a>
-<a name="line-70"></a><a name="highlight"></a><font color=Blue>-- | Make the given string appear with all of the listed highlights</font>
-<a name="line-71"></a>highlight <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="line-72"></a>highlight attrs s <font color=Red>=</font> highlightOn attrs <font color=Cyan>++</font> s <font color=Cyan>++</font> highlightOff
-<a name="line-73"></a>
-<a name="line-74"></a><a name="highlightOn"></a>highlightOn []     <font color=Red>=</font> highlightOn <font color=Red>[</font>Normal<font color=Red>]</font>
-<a name="line-75"></a>highlightOn attrs  <font color=Red>=</font> <font color=Magenta>"\ESC["</font>
-<a name="line-76"></a>                     <font color=Cyan>++</font> concat <font color=Cyan>(</font>intersperse <font color=Magenta>";"</font> <font color=Cyan>(</font>map <font color=Cyan>(</font>show<font color=Cyan>.</font>fromEnum<font color=Cyan>)</font> attrs<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="line-77"></a>                     <font color=Cyan>++</font><font color=Magenta>"m"</font>
-<a name="line-78"></a><a name="highlightOff"></a>highlightOff <font color=Red>=</font> <font color=Magenta>"\ESC[0m"</font>
-<a name="line-79"></a>
+<a name="line-69"></a>  fromEnum Italic       <font color=Red>=</font> <font color=Magenta>2</font>
+<a name="line-70"></a>
+<a name="line-71"></a><a name="highlight"></a><font color=Blue><i>-- | Make the given string appear with all of the listed highlights</i></font>
+<a name="line-72"></a>highlight <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
+<a name="line-73"></a>highlight attrs s <font color=Red>=</font> highlightOn attrs <font color=Cyan>++</font> s <font color=Cyan>++</font> highlightOff
+<a name="line-74"></a>
+<a name="line-75"></a><a name="highlightOn"></a>highlightOn []     <font color=Red>=</font> highlightOn <font color=Red>[</font>Normal<font color=Red>]</font>
+<a name="line-76"></a>highlightOn attrs  <font color=Red>=</font> <font color=Magenta>"\ESC["</font>
+<a name="line-77"></a>                     <font color=Cyan>++</font> concat <font color=Cyan>(</font>intersperse <font color=Magenta>";"</font> <font color=Cyan>(</font>map <font color=Cyan>(</font>show<font color=Cyan>.</font>fromEnum<font color=Cyan>)</font> attrs<font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-78"></a>                     <font color=Cyan>++</font><font color=Magenta>"m"</font>
+<a name="line-79"></a><a name="highlightOff"></a>highlightOff <font color=Red>=</font> <font color=Magenta>"\ESC[0m"</font>
 <a name="line-80"></a>
-<a name="line-81"></a><a name="colourCycle"></a><font color=Blue>-- | An infinite supply of colours.</font>
-<a name="line-82"></a>colourCycle <font color=Red>::</font> <font color=Red>[</font>Colour<font color=Red>]</font>
-<a name="line-83"></a>colourCycle <font color=Red>=</font> cycle <font color=Red>[</font>Red<font color=Cyan>,</font>Blue<font color=Cyan>,</font>Magenta<font color=Cyan>,</font>Green<font color=Cyan>,</font>Cyan<font color=Red>]</font>
-<a name="line-84"></a>
+<a name="line-81"></a>
+<a name="line-82"></a><a name="colourCycle"></a><font color=Blue><i>-- | An infinite supply of colours.</i></font>
+<a name="line-83"></a>colourCycle <font color=Red>::</font> <font color=Red>[</font>Colour<font color=Red>]</font>
+<a name="line-84"></a>colourCycle <font color=Red>=</font> cycle <font color=Red>[</font>Red<font color=Cyan>,</font>Blue<font color=Cyan>,</font>Magenta<font color=Cyan>,</font>Green<font color=Cyan>,</font>Cyan<font color=Red>]</font>
 <a name="line-85"></a>
-<a name="line-86"></a><a name="enableScrollRegion"></a><font color=Blue>-- | Scrolling</font>
-<a name="line-87"></a>enableScrollRegion <font color=Red>::</font> Int <font color=Red>-&gt;</font> Int <font color=Red>-&gt;</font> String
-<a name="line-88"></a>enableScrollRegion start end <font color=Red>=</font> <font color=Magenta>"\ESC["</font><font color=Cyan>++</font>show start<font color=Cyan>++</font><font color=Magenta>';'</font><b><font color=Red>:</font></b>show end<font color=Cyan>++</font><font color=Magenta>"r"</font>
-<a name="line-89"></a>
-<a name="line-90"></a><a name="scrollDown"></a>scrollDown  <font color=Red>=</font> <font color=Magenta>"\ESCD"</font>
-<a name="line-91"></a><a name="scrollUp"></a>scrollUp    <font color=Red>=</font> <font color=Magenta>"\ESCM"</font>
-<a name="line-92"></a>
-<a name="line-93"></a><a name="lineWrap"></a><font color=Blue>-- Line-wrapping mode</font>
-<a name="line-94"></a>lineWrap True  <font color=Red>=</font> <font color=Magenta>"\ESC[7h"</font>
-<a name="line-95"></a>lineWrap False <font color=Red>=</font> <font color=Magenta>"\ESC[7l"</font>
-<a name="line-96"></a>
+<a name="line-86"></a>
+<a name="line-87"></a><a name="enableScrollRegion"></a><font color=Blue><i>-- | Scrolling</i></font>
+<a name="line-88"></a>enableScrollRegion <font color=Red>::</font> Int <font color=Red>-&gt;</font> Int <font color=Red>-&gt;</font> String
+<a name="line-89"></a>enableScrollRegion start end <font color=Red>=</font> <font color=Magenta>"\ESC["</font><font color=Cyan>++</font>show start<font color=Cyan>++</font><font color=Magenta>';'</font><b><font color=Red>:</font></b>show end<font color=Cyan>++</font><font color=Magenta>"r"</font>
+<a name="line-90"></a>
+<a name="line-91"></a><a name="scrollDown"></a>scrollDown  <font color=Red>=</font> <font color=Magenta>"\ESCD"</font>
+<a name="line-92"></a><a name="scrollUp"></a>scrollUp    <font color=Red>=</font> <font color=Magenta>"\ESCM"</font>
+<a name="line-93"></a>
+<a name="line-94"></a><a name="lineWrap"></a><font color=Blue><i>-- Line-wrapping mode</i></font>
+<a name="line-95"></a>lineWrap True  <font color=Red>=</font> <font color=Magenta>"\ESC[7h"</font>
+<a name="line-96"></a>lineWrap False <font color=Red>=</font> <font color=Magenta>"\ESC[7l"</font>
+<a name="line-97"></a>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/Anchors.html b/docs/hscolour/Language/Haskell/HsColour/Anchors.html
--- a/docs/hscolour/Language/Haskell/HsColour/Anchors.html
+++ b/docs/hscolour/Language/Haskell/HsColour/Anchors.html
@@ -13,57 +13,57 @@
 <a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>General
 <a name="line-7"></a><u><font color=Green>import</font></u> List
 <a name="line-8"></a>
-<a name="line-9"></a><font color=Blue>-- This is an attempt to find the first defining occurrence of an</font>
-<a name="line-10"></a><font color=Blue>-- identifier (function, datatype, class) in a Haskell source file.</font>
-<a name="line-11"></a><font color=Blue>-- Rather than parse the module properly, we try to get by with just</font>
-<a name="line-12"></a><font color=Blue>-- a finite state automaton.  Keeping a record of identifiers we</font>
-<a name="line-13"></a><font color=Blue>-- have already seen, we look at the beginning of every line to see</font>
-<a name="line-14"></a><font color=Blue>-- if it starts with the right tokens to introduce a defn.  If so,</font>
-<a name="line-15"></a><font color=Blue>-- we look a little bit further until we can be certain.  Then plonk</font>
-<a name="line-16"></a><font color=Blue>-- (or not) an anchor at the beginning of the line.</font>
+<a name="line-9"></a><font color=Blue><i>-- This is an attempt to find the first defining occurrence of an</i></font>
+<a name="line-10"></a><font color=Blue><i>-- identifier (function, datatype, class) in a Haskell source file.</i></font>
+<a name="line-11"></a><font color=Blue><i>-- Rather than parse the module properly, we try to get by with just</i></font>
+<a name="line-12"></a><font color=Blue><i>-- a finite state automaton.  Keeping a record of identifiers we</i></font>
+<a name="line-13"></a><font color=Blue><i>-- have already seen, we look at the beginning of every line to see</i></font>
+<a name="line-14"></a><font color=Blue><i>-- if it starts with the right tokens to introduce a defn.  If so,</i></font>
+<a name="line-15"></a><font color=Blue><i>-- we look a little bit further until we can be certain.  Then plonk</i></font>
+<a name="line-16"></a><font color=Blue><i>-- (or not) an anchor at the beginning of the line.</i></font>
 <a name="line-17"></a>
 <a name="line-18"></a><a name="Anchor"></a><u><font color=Green>type</font></u> Anchor <font color=Red>=</font> String
 <a name="line-19"></a>
-<a name="line-20"></a><a name="insertAnchors"></a><font color=Blue>-- | 'insertAnchors' places an anchor marker in the token stream before the</font>
-<a name="line-21"></a><font color=Blue>--   first defining occurrence of any identifier.  Here, /before/ means</font>
-<a name="line-22"></a><font color=Blue>--   immediately preceding its type signature, or preceding a (haddock)</font>
-<a name="line-23"></a><font color=Blue>--   comment that comes immediately before the type signature, or failing</font>
-<a name="line-24"></a><font color=Blue>--   either of those, before the first equation.</font>
+<a name="line-20"></a><a name="insertAnchors"></a><font color=Blue><i>-- | 'insertAnchors' places an anchor marker in the token stream before the</i></font>
+<a name="line-21"></a><font color=Blue><i>--   first defining occurrence of any identifier.  Here, /before/ means</i></font>
+<a name="line-22"></a><font color=Blue><i>--   immediately preceding its type signature, or preceding a (haddock)</i></font>
+<a name="line-23"></a><font color=Blue><i>--   comment that comes immediately before the type signature, or failing</i></font>
+<a name="line-24"></a><font color=Blue><i>--   either of those, before the first equation.</i></font>
 <a name="line-25"></a>insertAnchors <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Either Anchor <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
 <a name="line-26"></a>insertAnchors <font color=Red>=</font> anchor emptyST
 <a name="line-27"></a>
-<a name="line-28"></a><a name="anchor"></a><font color=Blue>-- looks at first token in the left-most position of each line</font>
-<a name="line-29"></a><font color=Blue>-- precondition: have just seen a newline token.</font>
+<a name="line-28"></a><a name="anchor"></a><font color=Blue><i>-- looks at first token in the left-most position of each line</i></font>
+<a name="line-29"></a><font color=Blue><i>-- precondition: have just seen a newline token.</i></font>
 <a name="line-30"></a>anchor st s <font color=Red>=</font> <u><font color=Green>case</font></u> identifier st s <u><font color=Green>of</font></u>
 <a name="line-31"></a>                Nothing <font color=Red>-&gt;</font> emit st s
 <a name="line-32"></a>                Just v  <font color=Red>-&gt;</font> Left v<b><font color=Red>:</font></b> emit <font color=Cyan>(</font>insertST v st<font color=Cyan>)</font> s
 <a name="line-33"></a>
-<a name="line-34"></a><a name="emit"></a><font color=Blue>-- emit passes stuff through until the next newline has been encountered,</font>
-<a name="line-35"></a><font color=Blue>-- then jumps back into the anchor function</font>
-<a name="line-36"></a><font color=Blue>-- pre-condition: newlines are explicitly single tokens</font>
+<a name="line-34"></a><a name="emit"></a><font color=Blue><i>-- emit passes stuff through until the next newline has been encountered,</i></font>
+<a name="line-35"></a><font color=Blue><i>-- then jumps back into the anchor function</i></font>
+<a name="line-36"></a><font color=Blue><i>-- pre-condition: newlines are explicitly single tokens</i></font>
 <a name="line-37"></a>emit st <font color=Cyan>(</font>t<font color=Red>@</font><font color=Cyan>(</font>Space<font color=Cyan>,</font><font color=Magenta>"\n"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Right t<b><font color=Red>:</font></b> anchor st stream
 <a name="line-38"></a>emit st <font color=Cyan>(</font>t<b><font color=Red>:</font></b>stream<font color=Cyan>)</font>              <font color=Red>=</font> Right t<b><font color=Red>:</font></b> emit st stream
 <a name="line-39"></a>emit <u><font color=Green>_</font></u>  []                      <font color=Red>=</font> []
 <a name="line-40"></a>
-<a name="line-41"></a><a name="identifier"></a><font color=Blue>-- Given that we are at the beginning of a line, determine whether there</font>
-<a name="line-42"></a><font color=Blue>-- is an identifier defined here, and if so, return it.</font>
-<a name="line-43"></a><font color=Blue>-- precondition: have just seen a newline token.</font>
+<a name="line-41"></a><a name="identifier"></a><font color=Blue><i>-- Given that we are at the beginning of a line, determine whether there</i></font>
+<a name="line-42"></a><font color=Blue><i>-- is an identifier defined here, and if so, return it.</i></font>
+<a name="line-43"></a><font color=Blue><i>-- precondition: have just seen a newline token.</i></font>
 <a name="line-44"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>kind<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>|</font> kind<font color=Cyan>`elem`</font><font color=Red>[</font>Varid<font color=Cyan>,</font>Definition<font color=Red>]</font> <font color=Red>=</font>
 <a name="line-45"></a>    <u><font color=Green>case</font></u> skip stream <u><font color=Green>of</font></u>
 <a name="line-46"></a>        <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>|</font> not <font color=Cyan>(</font>v<font color=Cyan>`inST`</font>st<font color=Cyan>)</font> <font color=Red>-&gt;</font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>
-<a name="line-47"></a>        notVarop  <font color=Blue>--  | typesig stream  -&gt; Nothing    -- not a defn</font>
-<a name="line-48"></a>                      <font color=Red>|</font> v <font color=Cyan>`inST`</font> st     <font color=Red>-&gt;</font> Nothing    <font color=Blue>-- already defined</font>
+<a name="line-47"></a>        notVarop  <font color=Blue><i>--  | typesig stream  -&gt; Nothing    -- not a defn</i></font>
+<a name="line-48"></a>                      <font color=Red>|</font> v <font color=Cyan>`inST`</font> st     <font color=Red>-&gt;</font> Nothing    <font color=Blue><i>-- already defined</i></font>
 <a name="line-49"></a>                      <font color=Red>|</font> otherwise       <font color=Red>-&gt;</font> Just v
 <a name="line-50"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font>
 <a name="line-51"></a>    <u><font color=Green>case</font></u> stream <u><font color=Green>of</font></u>
 <a name="line-52"></a>      <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>
-<a name="line-53"></a>                  <font color=Blue>--  | typesig stream  -&gt; Nothing</font>
+<a name="line-53"></a>                  <font color=Blue><i>--  | typesig stream  -&gt; Nothing</i></font>
 <a name="line-54"></a>	              <font color=Red>|</font> v <font color=Cyan>`inST`</font> st     <font color=Red>-&gt;</font> Nothing
 <a name="line-55"></a>	              <font color=Red>|</font> otherwise	<font color=Red>-&gt;</font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>
 <a name="line-56"></a>      notVarop <font color=Red>-&gt;</font> <u><font color=Green>case</font></u> skip <font color=Cyan>(</font>munchParens stream<font color=Cyan>)</font> <u><font color=Green>of</font></u>
 <a name="line-57"></a>          <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>|</font> not <font color=Cyan>(</font>v<font color=Cyan>`inST`</font>st<font color=Cyan>)</font> <font color=Red>-&gt;</font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>
 <a name="line-58"></a>          <u><font color=Green>_</font></u>             <font color=Red>-&gt;</font> Nothing
-<a name="line-59"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"foreign"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Nothing <font color=Blue>-- not yet implemented</font>
+<a name="line-59"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"foreign"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Nothing <font color=Blue><i>-- not yet implemented</i></font>
 <a name="line-60"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"data"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font>    <font color=Red>=</font> getConid stream
 <a name="line-61"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"newtype"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> getConid stream
 <a name="line-62"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"type"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font>    <font color=Red>=</font> getConid stream
@@ -71,7 +71,7 @@
 <a name="line-64"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Space<font color=Cyan>,</font><font color=Magenta>"\n"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> identifier st stream
 <a name="line-65"></a>identifier st stream <font color=Red>=</font> Nothing
 <a name="line-66"></a>
-<a name="line-67"></a><a name="typesig"></a><font color=Blue>-- Is this really a type signature?  (no longer used)</font>
+<a name="line-67"></a><a name="typesig"></a><font color=Blue><i>-- Is this really a type signature?  (no longer used)</i></font>
 <a name="line-68"></a>typesig <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> Bool
 <a name="line-69"></a>typesig <font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"::"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>   <font color=Red>=</font> True
 <a name="line-70"></a>typesig <font color=Cyan>(</font><font color=Cyan>(</font>Varid<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font>    <font color=Red>=</font> typesig stream
@@ -81,25 +81,25 @@
 <a name="line-74"></a>typesig <font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font>  <font color=Red>=</font> typesig stream
 <a name="line-75"></a>typesig <u><font color=Green>_</font></u>                     <font color=Red>=</font> False
 <a name="line-76"></a>
-<a name="line-77"></a><a name="munchParens"></a><font color=Blue>-- throw away everything from opening paren to matching close</font>
-<a name="line-78"></a>munchParens <font color=Red>=</font>  munch <font color=Cyan>(</font><font color=Magenta>0</font><font color=Red>::</font>Int<font color=Cyan>)</font>	<font color=Blue>-- already seen open paren</font>
+<a name="line-77"></a><a name="munchParens"></a><font color=Blue><i>-- throw away everything from opening paren to matching close</i></font>
+<a name="line-78"></a>munchParens <font color=Red>=</font>  munch <font color=Cyan>(</font><font color=Magenta>0</font><font color=Red>::</font>Int<font color=Cyan>)</font>	<font color=Blue><i>-- already seen open paren</i></font>
 <a name="line-79"></a>  <u><font color=Green>where</font></u> munch <font color=Magenta>0</font> <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> rest
-<a name="line-80"></a>        munch n <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> rest
+<a name="line-80"></a>        munch n <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch <font color=Cyan>(</font>n<font color=Blue><i>-</i></font><font color=Magenta>1</font><font color=Cyan>)</font> rest
 <a name="line-81"></a>        munch n <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> rest
 <a name="line-82"></a>        munch n <font color=Cyan>(</font><u><font color=Green>_</font></u><b><font color=Red>:</font></b>rest<font color=Cyan>)</font>            <font color=Red>=</font> munch n rest
-<a name="line-83"></a>        munch <u><font color=Green>_</font></u> []                  <font color=Red>=</font> []	<font color=Blue>-- source is ill-formed</font>
+<a name="line-83"></a>        munch <u><font color=Green>_</font></u> []                  <font color=Red>=</font> []	<font color=Blue><i>-- source is ill-formed</i></font>
 <a name="line-84"></a>
-<a name="line-85"></a><a name="fix"></a><font color=Blue>-- ensure anchor name is correct for a Varop</font>
+<a name="line-85"></a><a name="fix"></a><font color=Blue><i>-- ensure anchor name is correct for a Varop</i></font>
 <a name="line-86"></a>fix <font color=Cyan>(</font><font color=Magenta>'`'</font><b><font color=Red>:</font></b>v<font color=Cyan>)</font> <font color=Red>=</font> dropLast <font color=Magenta>'`'</font> v
 <a name="line-87"></a>fix v       <font color=Red>=</font> v
 <a name="line-88"></a>
-<a name="line-89"></a><a name="skip"></a><font color=Blue>-- look past whitespace and comments to next "real" token</font>
+<a name="line-89"></a><a name="skip"></a><font color=Blue><i>-- look past whitespace and comments to next "real" token</i></font>
 <a name="line-90"></a>skip <font color=Cyan>(</font><font color=Cyan>(</font>Space<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font>   <font color=Red>=</font> skip stream
 <a name="line-91"></a>skip <font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> skip stream
 <a name="line-92"></a>skip stream               <font color=Red>=</font> stream
 <a name="line-93"></a>
-<a name="line-94"></a><a name="getConid"></a><font color=Blue>-- skip possible context up to and including "=&gt;", returning next Conid token</font>
-<a name="line-95"></a><font color=Blue>-- (this function is highly partial - relies on source being parse-correct)</font>
+<a name="line-94"></a><a name="getConid"></a><font color=Blue><i>-- skip possible context up to and including "=&gt;", returning next Conid token</i></font>
+<a name="line-95"></a><font color=Blue><i>-- (this function is highly partial - relies on source being parse-correct)</i></font>
 <a name="line-96"></a>getConid stream <font color=Red>=</font>
 <a name="line-97"></a>    <u><font color=Green>case</font></u> skip stream <u><font color=Green>of</font></u>
 <a name="line-98"></a>        <font color=Cyan>(</font><font color=Cyan>(</font>Conid<font color=Cyan>,</font>c<font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>-&gt;</font> <u><font color=Green>case</font></u> context rest <u><font color=Green>of</font></u>
@@ -117,17 +117,17 @@
 <a name="line-110"></a>                                   v <font color=Red>-&gt;</font> debug v <font color=Cyan>(</font><font color=Magenta>"(...) no =&gt;"</font><font color=Cyan>)</font>
 <a name="line-111"></a>        v <font color=Red>-&gt;</font> debug v <font color=Cyan>(</font><font color=Magenta>"no Conid or (...)"</font><font color=Cyan>)</font>
 <a name="line-112"></a>    <u><font color=Green>where</font></u> debug   <u><font color=Green>_</font></u>   <u><font color=Green>_</font></u> <font color=Red>=</font> Nothing
-<a name="line-113"></a>       <font color=Blue>-- debug (s:t) c = error ("HsColour: getConid failed: "++show s</font>
-<a name="line-114"></a>       <font color=Blue>--                       ++"\n  in the context of: "++c)</font>
+<a name="line-113"></a>       <font color=Blue><i>-- debug (s:t) c = error ("HsColour: getConid failed: "++show s</i></font>
+<a name="line-114"></a>       <font color=Blue><i>--                       ++"\n  in the context of: "++c)</i></font>
 <a name="line-115"></a>
-<a name="line-116"></a><a name="context"></a><font color=Blue>-- jump past possible class context</font>
+<a name="line-116"></a><a name="context"></a><font color=Blue><i>-- jump past possible class context</i></font>
 <a name="line-117"></a>context stream<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"="</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> stream
 <a name="line-118"></a>context stream<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"=&gt;"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> stream
 <a name="line-119"></a>context <font color=Cyan>(</font><u><font color=Green>_</font></u><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> context stream
 <a name="line-120"></a>context [] <font color=Red>=</font> []
 <a name="line-121"></a>
-<a name="line-122"></a><a name="ST"></a><font color=Blue>-- simple implementation of a string lookup table.</font>
-<a name="line-123"></a><a name="ST"></a><font color=Blue>-- replace this with something more sophisticated if needed.</font>
+<a name="line-122"></a><a name="ST"></a><font color=Blue><i>-- simple implementation of a string lookup table.</i></font>
+<a name="line-123"></a><a name="ST"></a><font color=Blue><i>-- replace this with something more sophisticated if needed.</i></font>
 <a name="line-124"></a><a name="ST"></a><u><font color=Green>type</font></u> ST <font color=Red>=</font> <font color=Red>[</font>String<font color=Red>]</font>
 <a name="line-125"></a>
 <a name="line-126"></a><a name="emptyST"></a>emptyST <font color=Red>::</font> ST
diff --git a/docs/hscolour/Language/Haskell/HsColour/CSS.html b/docs/hscolour/Language/Haskell/HsColour/CSS.html
--- a/docs/hscolour/Language/Haskell/HsColour/CSS.html
+++ b/docs/hscolour/Language/Haskell/HsColour/CSS.html
@@ -5,7 +5,7 @@
 <title>Language/Haskell/HsColour/CSS.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code as HTML with CSS.</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Formats Haskell source code as HTML with CSS.</i></font>
 <a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>CSS <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-3"></a>
 <a name="line-4"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors
@@ -13,14 +13,14 @@
 <a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML <font color=Cyan>(</font>renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font>
 <a name="line-7"></a>                                       renderNewLinesAnchors<font color=Cyan>,</font> escape<font color=Cyan>)</font>
 <a name="line-8"></a>
-<a name="line-9"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code as a complete HTML document with CSS.</font>
-<a name="line-10"></a>hscolour <font color=Red>::</font> Bool   <font color=Blue>-- ^ Whether to include anchors.</font>
-<a name="line-11"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue>-- ^ Whether output should be partial</font>
-<a name="line-12"></a>                   <font color=Blue>--   (= no stylesheet link will be included.)</font>
-<a name="line-13"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Title for HTML page.</font>
-<a name="line-14"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-15"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>
-<a name="line-16"></a>                   <font color=Blue>--   Haskell source code.</font>
+<a name="line-9"></a><a name="hscolour"></a><font color=Blue><i>-- | Formats Haskell source code as a complete HTML document with CSS.</i></font>
+<a name="line-10"></a>hscolour <font color=Red>::</font> Bool   <font color=Blue><i>-- ^ Whether to include anchors.</i></font>
+<a name="line-11"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue><i>-- ^ Whether output should be partial</i></font>
+<a name="line-12"></a>                   <font color=Blue><i>--   (= no stylesheet link will be included.)</i></font>
+<a name="line-13"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ Title for HTML page.</i></font>
+<a name="line-14"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-15"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ An HTML document containing the coloured </i></font>
+<a name="line-16"></a>                   <font color=Blue><i>--   Haskell source code.</i></font>
 <a name="line-17"></a>hscolour anchor partial title <font color=Red>=</font>
 <a name="line-18"></a>  <font color=Cyan>(</font><u><font color=Green>if</font></u> partial <u><font color=Green>then</font></u> id <u><font color=Green>else</font></u> top'n'tail title<font color=Cyan>)</font>
 <a name="line-19"></a>  <font color=Cyan>.</font> pre
diff --git a/docs/hscolour/Language/Haskell/HsColour/Classify.html b/docs/hscolour/Language/Haskell/HsColour/Classify.html
--- a/docs/hscolour/Language/Haskell/HsColour/Classify.html
+++ b/docs/hscolour/Language/Haskell/HsColour/Classify.html
@@ -13,44 +13,44 @@
 <a name="line-6"></a><u><font color=Green>import</font></u> Char
 <a name="line-7"></a><u><font color=Green>import</font></u> List
 <a name="line-8"></a>
-<a name="line-9"></a><a name="tokenise"></a><font color=Blue>-- | Lex Haskell source code into an annotated token stream, without</font>
-<a name="line-10"></a><font color=Blue>--   discarding any characters or layout.</font>
+<a name="line-9"></a><a name="tokenise"></a><font color=Blue><i>-- | Lex Haskell source code into an annotated token stream, without</i></font>
+<a name="line-10"></a><font color=Blue><i>--   discarding any characters or layout.</i></font>
 <a name="line-11"></a>tokenise <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
 <a name="line-12"></a>tokenise str <font color=Red>=</font> 
 <a name="line-13"></a>    <u><font color=Green>let</font></u> chunks <font color=Red>=</font> glue <font color=Cyan>.</font> chunk <font color=Cyan>$</font> str 
 <a name="line-14"></a>        newline <font color=Red>=</font> True <b><font color=Red>:</font></b> <font color=Cyan>(</font>map <font color=Cyan>(</font><font color=Magenta>"\n"</font> <font color=Cyan>`isPrefixOf`</font><font color=Cyan>)</font> chunks<font color=Cyan>)</font>
 <a name="line-15"></a>    <u><font color=Green>in</font></u> map <font color=Cyan>(</font><font color=Red>\</font><font color=Cyan>(</font>s<font color=Cyan>,</font>n<font color=Cyan>)</font><font color=Red>-&gt;</font> <font color=Cyan>(</font>classify s n<font color=Cyan>,</font>s<font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>(</font>zip chunks newline<font color=Cyan>)</font>
 <a name="line-16"></a>
-<a name="line-17"></a><a name="chunk"></a><font color=Blue>-- Basic Haskell lexing, except we keep whitespace.</font>
+<a name="line-17"></a><a name="chunk"></a><font color=Blue><i>-- Basic Haskell lexing, except we keep whitespace.</i></font>
 <a name="line-18"></a>chunk <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
 <a name="line-19"></a>chunk []    <font color=Red>=</font> []
-<a name="line-20"></a>chunk <font color=Cyan>(</font><font color=Magenta>'\r'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> chunk s <font color=Blue>-- get rid of DOS newline stuff</font>
+<a name="line-20"></a>chunk <font color=Cyan>(</font><font color=Magenta>'\r'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> chunk s <font color=Blue><i>-- get rid of DOS newline stuff</i></font>
 <a name="line-21"></a>chunk <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"\n"</font><b><font color=Red>:</font></b> chunk s
 <a name="line-22"></a>chunk <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>|</font> isLinearSpace c
 <a name="line-23"></a>            <font color=Red>=</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b>ss<font color=Cyan>)</font><b><font color=Red>:</font></b> chunk rest <u><font color=Green>where</font></u> <font color=Cyan>(</font>ss<font color=Cyan>,</font>rest<font color=Cyan>)</font> <font color=Red>=</font> span isLinearSpace s
 <a name="line-24"></a>chunk <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> <u><font color=Green>let</font></u> <font color=Cyan>(</font>com<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Magenta>0</font> s
 <a name="line-25"></a>                    <u><font color=Green>in</font></u> <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>com<font color=Cyan>)</font> <b><font color=Red>:</font></b> chunk s'
 <a name="line-26"></a>chunk s <font color=Red>=</font> <u><font color=Green>case</font></u> Prelude<font color=Cyan>.</font>lex s <u><font color=Green>of</font></u>
-<a name="line-27"></a>              []             <font color=Red>-&gt;</font> <font color=Red>[</font>head s<font color=Red>]</font><b><font color=Red>:</font></b> chunk <font color=Cyan>(</font>tail s<font color=Cyan>)</font> <font color=Blue>-- e.g. inside comment</font>
+<a name="line-27"></a>              []             <font color=Red>-&gt;</font> <font color=Red>[</font>head s<font color=Red>]</font><b><font color=Red>:</font></b> chunk <font color=Cyan>(</font>tail s<font color=Cyan>)</font> <font color=Blue><i>-- e.g. inside comment</i></font>
 <a name="line-28"></a>              <font color=Cyan>(</font><font color=Cyan>(</font>tok<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font><font color=Cyan>,</font>rest<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>
 <a name="line-29"></a>                  <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> tok <font color=Red>-&gt;</font> <font color=Cyan>(</font>tok<font color=Cyan>++</font>com<font color=Cyan>)</font><b><font color=Red>:</font></b> chunk s'
 <a name="line-30"></a>                                       <u><font color=Green>where</font></u> <font color=Cyan>(</font>com<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> eolcomment rest
 <a name="line-31"></a>              <font color=Cyan>(</font><font color=Cyan>(</font>tok<font color=Cyan>,</font>rest<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>-&gt;</font> tok<b><font color=Red>:</font></b> chunk rest
 <a name="line-32"></a>
-<a name="line-33"></a><a name="isLinearSpace"></a>isLinearSpace c <font color=Red>=</font> c <font color=Cyan>`elem`</font> <font color=Magenta>" \t\f"</font> <font color=Blue>-- " \t\xa0"</font>
+<a name="line-33"></a><a name="isLinearSpace"></a>isLinearSpace c <font color=Red>=</font> c <font color=Cyan>`elem`</font> <font color=Magenta>" \t\f"</font> <font color=Blue><i>-- " \t\xa0"</i></font>
 <a name="line-34"></a>
-<a name="line-35"></a><a name="glue"></a><font color=Blue>-- Glue sequences of tokens into more useful blobs</font>
-<a name="line-36"></a><font color=Blue>--glue (q:".":n:rest) | Char.isUpper (head q)	-- qualified names</font>
-<a name="line-37"></a><font color=Blue>--                    = glue ((q++"."++n): rest)</font>
-<a name="line-38"></a>glue <font color=Cyan>(</font><font color=Magenta>"`"</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font>				<font color=Blue>-- `varid` -&gt; varop</font>
+<a name="line-35"></a><a name="glue"></a><font color=Blue><i>-- Glue sequences of tokens into more useful blobs</i></font>
+<a name="line-36"></a><font color=Blue><i>--glue (q:".":n:rest) | Char.isUpper (head q)	-- qualified names</i></font>
+<a name="line-37"></a><font color=Blue><i>--                    = glue ((q++"."++n): rest)</i></font>
+<a name="line-38"></a>glue <font color=Cyan>(</font><font color=Magenta>"`"</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font>				<font color=Blue><i>-- `varid` -&gt; varop</i></font>
 <a name="line-39"></a>  <u><font color=Green>case</font></u> glue rest <u><font color=Green>of</font></u>
 <a name="line-40"></a>    <font color=Cyan>(</font>qn<b><font color=Red>:</font></b><font color=Magenta>"`"</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>-&gt;</font> <font color=Cyan>(</font><font color=Magenta>"`"</font><font color=Cyan>++</font>qn<font color=Cyan>++</font><font color=Magenta>"`"</font><font color=Cyan>)</font><b><font color=Red>:</font></b> glue rest
 <a name="line-41"></a>    <u><font color=Green>_</font></u>             <font color=Red>-&gt;</font> <font color=Magenta>"`"</font><b><font color=Red>:</font></b> glue rest
-<a name="line-42"></a>glue <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>       <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> s <font color=Cyan>&amp;&amp;</font> length s <font color=Cyan>&gt;=</font><font color=Magenta>2</font>	<font color=Blue>-- eol comment</font>
+<a name="line-42"></a>glue <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>       <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> s <font color=Cyan>&amp;&amp;</font> length s <font color=Cyan>&gt;=</font><font color=Magenta>2</font>	<font color=Blue><i>-- eol comment</i></font>
 <a name="line-43"></a>                  <font color=Red>=</font> <font color=Cyan>(</font>s<font color=Cyan>++</font>concat c<font color=Cyan>)</font><b><font color=Red>:</font></b> glue rest
 <a name="line-44"></a>                  <u><font color=Green>where</font></u> <font color=Cyan>(</font>c<font color=Cyan>,</font>rest<font color=Cyan>)</font> <font color=Red>=</font> break <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Cyan>`elem`</font><font color=Cyan>)</font> ss
-<a name="line-45"></a><font color=Blue>--glue ("{":"-":ss)  = ("{-"++c): glue rest	-- nested comment</font>
-<a name="line-46"></a><font color=Blue>--                  where (c,rest) = nestcomment 0 ss</font>
+<a name="line-45"></a><font color=Blue><i>--glue ("{":"-":ss)  = ("{-"++c): glue rest	-- nested comment</i></font>
+<a name="line-46"></a><font color=Blue><i>--                  where (c,rest) = nestcomment 0 ss</i></font>
 <a name="line-47"></a>glue <font color=Cyan>(</font><font color=Magenta>"("</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <u><font color=Green>case</font></u> rest <u><font color=Green>of</font></u>
 <a name="line-48"></a>                <font color=Magenta>")"</font><b><font color=Red>:</font></b>rest <font color=Red>-&gt;</font> <font color=Cyan>(</font><font color=Magenta>"("</font> <font color=Cyan>++</font> concat tuple <font color=Cyan>++</font> <font color=Magenta>")"</font><font color=Cyan>)</font> <b><font color=Red>:</font></b> glue rest
 <a name="line-49"></a>                <u><font color=Green>_</font></u>         <font color=Red>-&gt;</font> <font color=Magenta>"("</font> <b><font color=Red>:</font></b> glue ss
@@ -61,12 +61,12 @@
 <a name="line-54"></a>glue <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>       <font color=Red>=</font> s<b><font color=Red>:</font></b> glue ss
 <a name="line-55"></a>glue []           <font color=Red>=</font> []
 <a name="line-56"></a>
-<a name="line-57"></a><a name="nestcomment"></a><font color=Blue>-- Deal with comments.</font>
+<a name="line-57"></a><a name="nestcomment"></a><font color=Blue><i>-- Deal with comments.</i></font>
 <a name="line-58"></a>nestcomment <font color=Red>::</font> Int <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font>
 <a name="line-59"></a>nestcomment n <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>&gt;=</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>"{-"</font><font color=Cyan>++</font>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>
 <a name="line-60"></a>                                  <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> ss
 <a name="line-61"></a>nestcomment n <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>&gt;</font><font color=Magenta>0</font>  <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>"-}"</font><font color=Cyan>++</font>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>
-<a name="line-62"></a>                                  <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> ss
+<a name="line-62"></a>                                  <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Cyan>(</font>n<font color=Blue><i>-</i></font><font color=Magenta>1</font><font color=Cyan>)</font> ss
 <a name="line-63"></a>nestcomment n <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"-}"</font><font color=Cyan>,</font>ss<font color=Cyan>)</font>
 <a name="line-64"></a>nestcomment n <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>       <font color=Red>|</font> n<font color=Cyan>&gt;=</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font>s<b><font color=Red>:</font></b>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>
 <a name="line-65"></a>                                  <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment n ss
@@ -78,7 +78,7 @@
 <a name="line-71"></a>eolcomment <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font>      <font color=Red>=</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>,</font> s'<font color=Cyan>)</font> <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> eolcomment s
 <a name="line-72"></a>eolcomment []         <font color=Red>=</font> <font color=Cyan>(</font>[]<font color=Cyan>,</font>[]<font color=Cyan>)</font>
 <a name="line-73"></a>
-<a name="line-74"></a><a name="TokenType"></a><font color=Blue>-- | Classification of tokens as lexical entities</font>
+<a name="line-74"></a><a name="TokenType"></a><font color=Blue><i>-- | Classification of tokens as lexical entities</i></font>
 <a name="line-75"></a><a name="TokenType"></a><u><font color=Green>data</font></u> TokenType <font color=Red>=</font>
 <a name="line-76"></a>  Space <font color=Red>|</font> Keyword <font color=Red>|</font> Keyglyph <font color=Red>|</font> Layout <font color=Red>|</font> Comment <font color=Red>|</font> Conid <font color=Red>|</font> Varid <font color=Red>|</font>
 <a name="line-77"></a>  Conop <font color=Red>|</font> Varop   <font color=Red>|</font> String   <font color=Red>|</font> Char   <font color=Red>|</font> Number  <font color=Red>|</font> Cpp   <font color=Red>|</font> Error <font color=Red>|</font>
@@ -90,7 +90,7 @@
 <a name="line-83"></a>    <font color=Red>|</font> isSpace h              <font color=Red>=</font> Space
 <a name="line-84"></a>    <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> s          <font color=Red>=</font> Comment
 <a name="line-85"></a>    <font color=Red>|</font> <font color=Magenta>"--"</font> <font color=Cyan>`isPrefixOf`</font> s
-<a name="line-86"></a>      <font color=Cyan>&amp;&amp;</font> any isSpace s       <font color=Red>=</font> Comment		<font color=Blue>-- not fully correct</font>
+<a name="line-86"></a>      <font color=Cyan>&amp;&amp;</font> any isSpace s       <font color=Red>=</font> Comment		<font color=Blue><i>-- not fully correct</i></font>
 <a name="line-87"></a>    <font color=Red>|</font> <font color=Magenta>"{-"</font> <font color=Cyan>`isPrefixOf`</font> s    <font color=Red>=</font> Comment
 <a name="line-88"></a>    <font color=Red>|</font> s <font color=Cyan>`elem`</font> keywords      <font color=Red>=</font> Keyword
 <a name="line-89"></a>    <font color=Red>|</font> s <font color=Cyan>`elem`</font> keyglyphs     <font color=Red>=</font> Keyglyph
@@ -114,7 +114,7 @@
 <a name="line-107"></a>isTupleTail <u><font color=Green>_</font></u> <font color=Red>=</font> False
 <a name="line-108"></a>
 <a name="line-109"></a>
-<a name="line-110"></a><a name="keywords"></a><font color=Blue>-- Haskell keywords</font>
+<a name="line-110"></a><a name="keywords"></a><font color=Blue><i>-- Haskell keywords</i></font>
 <a name="line-111"></a>keywords <font color=Red>=</font>
 <a name="line-112"></a>  <font color=Red>[</font><font color=Magenta>"case"</font><font color=Cyan>,</font><font color=Magenta>"class"</font><font color=Cyan>,</font><font color=Magenta>"data"</font><font color=Cyan>,</font><font color=Magenta>"default"</font><font color=Cyan>,</font><font color=Magenta>"deriving"</font><font color=Cyan>,</font><font color=Magenta>"do"</font><font color=Cyan>,</font><font color=Magenta>"else"</font><font color=Cyan>,</font><font color=Magenta>"forall"</font>
 <a name="line-113"></a>  <font color=Cyan>,</font><font color=Magenta>"if"</font><font color=Cyan>,</font><font color=Magenta>"import"</font><font color=Cyan>,</font><font color=Magenta>"in"</font><font color=Cyan>,</font><font color=Magenta>"infix"</font><font color=Cyan>,</font><font color=Magenta>"infixl"</font><font color=Cyan>,</font><font color=Magenta>"infixr"</font><font color=Cyan>,</font><font color=Magenta>"instance"</font><font color=Cyan>,</font><font color=Magenta>"let"</font><font color=Cyan>,</font><font color=Magenta>"module"</font>
diff --git a/docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html b/docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html
--- a/docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html
+++ b/docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html
@@ -10,11 +10,11 @@
 <a name="line-3"></a>  <font color=Cyan>,</font> Highlight<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
 <a name="line-4"></a>  <font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-5"></a>
-<a name="line-6"></a><a name="Colour"></a><font color=Blue>-- | Colours supported by ANSI codes.</font>
+<a name="line-6"></a><a name="Colour"></a><font color=Blue><i>-- | Colours supported by ANSI codes.</i></font>
 <a name="line-7"></a><a name="Colour"></a><u><font color=Green>data</font></u> Colour <font color=Red>=</font> Black <font color=Red>|</font> Red <font color=Red>|</font> Green <font color=Red>|</font> Yellow <font color=Red>|</font> Blue <font color=Red>|</font> Magenta <font color=Red>|</font> Cyan <font color=Red>|</font> White
 <a name="line-8"></a>  <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>,</font>Enum<font color=Cyan>)</font>
 <a name="line-9"></a>
-<a name="line-10"></a><a name="Highlight"></a><font color=Blue>-- | Types of highlighting supported by ANSI codes.</font>
+<a name="line-10"></a><a name="Highlight"></a><font color=Blue><i>-- | Types of highlighting supported by ANSI codes (and some extra styles).</i></font>
 <a name="line-11"></a><a name="Highlight"></a><u><font color=Green>data</font></u> Highlight <font color=Red>=</font>
 <a name="line-12"></a>    Normal
 <a name="line-13"></a>  <font color=Red>|</font> Bold
@@ -25,8 +25,10 @@
 <a name="line-18"></a>  <font color=Red>|</font> Concealed
 <a name="line-19"></a>  <font color=Red>|</font> Foreground Colour
 <a name="line-20"></a>  <font color=Red>|</font> Background Colour
-<a name="line-21"></a>  <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>)</font>
-<a name="line-22"></a>
+<a name="line-21"></a>  <font color=Blue><i>-- Above are ANSI-only.  Below are extra styles.</i></font>
+<a name="line-22"></a>  <font color=Red>|</font> Italic
+<a name="line-23"></a>  <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>)</font>
+<a name="line-24"></a>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/Colourise.html b/docs/hscolour/Language/Haskell/HsColour/Colourise.html
--- a/docs/hscolour/Language/Haskell/HsColour/Colourise.html
+++ b/docs/hscolour/Language/Haskell/HsColour/Colourise.html
@@ -19,7 +19,7 @@
 <a name="line-12"></a><u><font color=Green>import</font></u> System <font color=Cyan>(</font>getEnv<font color=Cyan>)</font>
 <a name="line-13"></a><u><font color=Green>import</font></u> List
 <a name="line-14"></a>
-<a name="line-15"></a><a name="ColourPrefs"></a><font color=Blue>-- | Colour preferences.</font>
+<a name="line-15"></a><a name="ColourPrefs"></a><font color=Blue><i>-- | Colour preferences.</i></font>
 <a name="line-16"></a><a name="ColourPrefs"></a><u><font color=Green>data</font></u> ColourPrefs <font color=Red>=</font> ColourPrefs
 <a name="line-17"></a>  <font color=Cyan>{</font> keyword<font color=Cyan>,</font> keyglyph<font color=Cyan>,</font> layout<font color=Cyan>,</font> comment
 <a name="line-18"></a>  <font color=Cyan>,</font> conid<font color=Cyan>,</font> varid<font color=Cyan>,</font> conop<font color=Cyan>,</font> varop
@@ -31,7 +31,7 @@
 <a name="line-24"></a>  <font color=Cyan>{</font> keyword  <font color=Red>=</font> <font color=Red>[</font>Foreground Green<font color=Cyan>,</font>Underscore<font color=Red>]</font>
 <a name="line-25"></a>  <font color=Cyan>,</font> keyglyph <font color=Red>=</font> <font color=Red>[</font>Foreground Red<font color=Red>]</font>
 <a name="line-26"></a>  <font color=Cyan>,</font> layout   <font color=Red>=</font> <font color=Red>[</font>Foreground Cyan<font color=Red>]</font>
-<a name="line-27"></a>  <font color=Cyan>,</font> comment  <font color=Red>=</font> <font color=Red>[</font>Foreground Blue<font color=Red>]</font>
+<a name="line-27"></a>  <font color=Cyan>,</font> comment  <font color=Red>=</font> <font color=Red>[</font>Foreground Blue<font color=Cyan>,</font> Italic<font color=Red>]</font>
 <a name="line-28"></a>  <font color=Cyan>,</font> conid    <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>
 <a name="line-29"></a>  <font color=Cyan>,</font> varid    <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>
 <a name="line-30"></a>  <font color=Cyan>,</font> conop    <font color=Red>=</font> <font color=Red>[</font>Foreground Red<font color=Cyan>,</font>Bold<font color=Red>]</font>
@@ -45,7 +45,7 @@
 <a name="line-38"></a>  <font color=Cyan>,</font> definition <font color=Red>=</font> <font color=Red>[</font>Foreground Blue<font color=Red>]</font>
 <a name="line-39"></a>  <font color=Cyan>}</font>
 <a name="line-40"></a>
-<a name="line-41"></a><a name="parseColourPrefs"></a><font color=Blue>-- NOTE, should we give a warning message on a failed reading?</font>
+<a name="line-41"></a><a name="parseColourPrefs"></a><font color=Blue><i>-- NOTE, should we give a warning message on a failed reading?</i></font>
 <a name="line-42"></a>parseColourPrefs <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> IO ColourPrefs
 <a name="line-43"></a>parseColourPrefs file x <font color=Red>=</font>
 <a name="line-44"></a>    <u><font color=Green>case</font></u> reads x <u><font color=Green>of</font></u>
@@ -54,8 +54,8 @@
 <a name="line-47"></a>                                  <font color=Cyan>++</font><font color=Magenta>": reverting to defaults"</font><font color=Cyan>)</font>
 <a name="line-48"></a>                return defaultColourPrefs
 <a name="line-49"></a>
-<a name="line-50"></a><a name="readColourPrefs"></a><font color=Blue>-- | Read colour preferences from .hscolour file in the current directory, or failing that,</font>
-<a name="line-51"></a><font color=Blue>--   from \$HOME\/.hscolour, and failing that, returns a default set of prefs.</font>
+<a name="line-50"></a><a name="readColourPrefs"></a><font color=Blue><i>-- | Read colour preferences from .hscolour file in the current directory, or failing that,</i></font>
+<a name="line-51"></a><font color=Blue><i>--   from \$HOME\/.hscolour, and failing that, returns a default set of prefs.</i></font>
 <a name="line-52"></a>readColourPrefs <font color=Red>::</font> IO ColourPrefs
 <a name="line-53"></a>readColourPrefs <font color=Red>=</font> catch
 <a name="line-54"></a>  <font color=Cyan>(</font><u><font color=Green>do</font></u> val <font color=Red>&lt;-</font> readFile <font color=Magenta>".hscolour"</font>
@@ -66,7 +66,7 @@
 <a name="line-59"></a>        parseColourPrefs <font color=Cyan>(</font>home<font color=Cyan>++</font><font color=Magenta>"/.hscolour"</font><font color=Cyan>)</font> val<font color=Cyan>)</font>
 <a name="line-60"></a>    <font color=Cyan>(</font><font color=Red>\</font><u><font color=Green>_</font></u><font color=Red>-&gt;</font> return defaultColourPrefs<font color=Cyan>)</font><font color=Cyan>)</font>
 <a name="line-61"></a>
-<a name="line-62"></a><a name="colourise"></a><font color=Blue>-- | Convert token classification to colour highlights.</font>
+<a name="line-62"></a><a name="colourise"></a><font color=Blue><i>-- | Convert token classification to colour highlights.</i></font>
 <a name="line-63"></a>colourise <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> TokenType <font color=Red>-&gt;</font> <font color=Red>[</font>Highlight<font color=Red>]</font>
 <a name="line-64"></a>colourise pref Space    <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>
 <a name="line-65"></a>colourise pref Comment  <font color=Red>=</font> comment pref
diff --git a/docs/hscolour/Language/Haskell/HsColour/HTML.html b/docs/hscolour/Language/Haskell/HsColour/HTML.html
--- a/docs/hscolour/Language/Haskell/HsColour/HTML.html
+++ b/docs/hscolour/Language/Haskell/HsColour/HTML.html
@@ -5,10 +5,10 @@
 <title>Language/Haskell/HsColour/HTML.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Formats Haskell source code using HTML with font tags.</i></font>
 <a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML 
 <a name="line-3"></a>    <font color=Cyan>(</font>hscolour<font color=Cyan>,</font> 
-<a name="line-4"></a>     <font color=Blue>-- * Internals</font>
+<a name="line-4"></a>     <font color=Blue><i>-- * Internals</i></font>
 <a name="line-5"></a>     renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font> renderNewLinesAnchors<font color=Cyan>,</font> escape<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-6"></a>
 <a name="line-7"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors
@@ -18,13 +18,13 @@
 <a name="line-11"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Char<font color=Cyan>(</font>isAlphaNum<font color=Cyan>)</font>
 <a name="line-12"></a>
 <a name="line-13"></a>
-<a name="line-14"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>
-<a name="line-15"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>
-<a name="line-16"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>
-<a name="line-17"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output should be partial.</font>
-<a name="line-18"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Title for webpage output.</font>
-<a name="line-19"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-20"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>
+<a name="line-14"></a><a name="hscolour"></a><font color=Blue><i>-- | Formats Haskell source code using HTML with font tags.</i></font>
+<a name="line-15"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences.</i></font>
+<a name="line-16"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether to include anchors.</i></font>
+<a name="line-17"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether output should be partial.</i></font>
+<a name="line-18"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Title for webpage output.</i></font>
+<a name="line-19"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-20"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Coloured Haskell source code.</i></font>
 <a name="line-21"></a>hscolour pref anchor partial title <font color=Red>=</font> 
 <a name="line-22"></a>    <font color=Cyan>(</font><u><font color=Green>if</font></u> partial <u><font color=Green>then</font></u> id <u><font color=Green>else</font></u> top'n'tail title<font color=Cyan>)</font>
 <a name="line-23"></a>    <font color=Cyan>.</font> pre
@@ -49,13 +49,13 @@
 <a name="line-42"></a>renderAnchors <u><font color=Green>_</font></u>      <font color=Cyan>(</font>Left v<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\""</font><font color=Cyan>++</font>v<font color=Cyan>++</font><font color=Magenta>"\"&gt;&lt;/a&gt;"</font>
 <a name="line-43"></a>renderAnchors render <font color=Cyan>(</font>Right r<font color=Cyan>)</font> <font color=Red>=</font> render r
 <a name="line-44"></a>
-<a name="line-45"></a><a name="renderComment"></a><font color=Blue>-- if there are <a href="http://links/">http://links/</a> in a comment, turn them into</font>
-<a name="line-46"></a><font color=Blue>-- hyperlinks</font>
+<a name="line-45"></a><a name="renderComment"></a><font color=Blue><i>-- if there are <a href="http://links/">http://links/</a> in a comment, turn them into</i></font>
+<a name="line-46"></a><font color=Blue><i>-- hyperlinks</i></font>
 <a name="line-47"></a>renderComment <font color=Red>::</font> String <font color=Red>-&gt;</font> String
 <a name="line-48"></a>renderComment xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'h'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'p'</font><b><font color=Red>:</font></b><font color=Magenta>':'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font>
 <a name="line-49"></a>        renderLink a <font color=Cyan>++</font> renderComment b
 <a name="line-50"></a>    <u><font color=Green>where</font></u>
-<a name="line-51"></a>        <font color=Blue>-- see <a href="http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters">http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters</a></font>
+<a name="line-51"></a>        <font color=Blue><i>-- see <a href="http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters">http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters</a></i></font>
 <a name="line-52"></a>        isUrlChar x <font color=Red>=</font> isAlphaNum x <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>":/?#[]@!$&amp;'()*+,;=-._~%"</font>
 <a name="line-53"></a>        <font color=Cyan>(</font>a<font color=Cyan>,</font>b<font color=Cyan>)</font> <font color=Red>=</font> span isUrlChar xs
 <a name="line-54"></a>        renderLink link <font color=Red>=</font> <font color=Magenta>"&lt;a href=\""</font> <font color=Cyan>++</font> link <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font> escape link <font color=Cyan>++</font> <font color=Magenta>"&lt;/a&gt;"</font>
@@ -67,7 +67,7 @@
 <a name="line-60"></a>renderNewLinesAnchors <font color=Red>=</font> unlines <font color=Cyan>.</font> map render <font color=Cyan>.</font> zip <font color=Red>[</font><font color=Magenta>1</font><font color=Red>..</font><font color=Red>]</font> <font color=Cyan>.</font> lines
 <a name="line-61"></a>    <u><font color=Green>where</font></u> render <font color=Cyan>(</font>line<font color=Cyan>,</font> s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\"line-"</font> <font color=Cyan>++</font> show line <font color=Cyan>++</font> <font color=Magenta>"\"&gt;&lt;/a&gt;"</font> <font color=Cyan>++</font> s
 <a name="line-62"></a>
-<a name="line-63"></a><a name="fontify"></a><font color=Blue>-- Html stuff</font>
+<a name="line-63"></a><a name="fontify"></a><font color=Blue><i>-- Html stuff</i></font>
 <a name="line-64"></a>fontify [] s     <font color=Red>=</font> s
 <a name="line-65"></a>fontify <font color=Cyan>(</font>h<b><font color=Red>:</font></b>hs<font color=Cyan>)</font> s <font color=Red>=</font> font h <font color=Cyan>(</font>fontify hs s<font color=Cyan>)</font>
 <a name="line-66"></a>
@@ -80,23 +80,24 @@
 <a name="line-73"></a>font Concealed      s <font color=Red>=</font> s
 <a name="line-74"></a>font <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font color="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>
 <a name="line-75"></a>font <font color=Cyan>(</font>Background c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font bgcolor="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>
-<a name="line-76"></a>
-<a name="line-77"></a><a name="escape"></a>escape <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;lt;"</font><font color=Cyan>++</font>escape cs
-<a name="line-78"></a>escape <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;gt;"</font><font color=Cyan>++</font>escape cs
-<a name="line-79"></a>escape <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;amp;"</font><font color=Cyan>++</font>escape cs
-<a name="line-80"></a>escape <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>   <font color=Red>=</font> c<b><font color=Red>:</font></b> escape cs
-<a name="line-81"></a>escape []       <font color=Red>=</font> []
-<a name="line-82"></a>
-<a name="line-83"></a><a name="htmlHeader"></a>htmlHeader title <font color=Red>=</font> unlines
-<a name="line-84"></a>  <font color=Red>[</font> <font color=Magenta>"&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"&gt;"</font>
-<a name="line-85"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;html&gt;"</font>
-<a name="line-86"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;head&gt;"</font>
-<a name="line-87"></a>  <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>
-<a name="line-88"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>
-<a name="line-89"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;/head&gt;"</font>
-<a name="line-90"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;body&gt;"</font>
-<a name="line-91"></a>  <font color=Red>]</font>
-<a name="line-92"></a><a name="htmlClose"></a>htmlClose  <font color=Red>=</font> <font color=Magenta>"\n&lt;/body&gt;\n&lt;/html&gt;"</font>
+<a name="line-76"></a>font Italic         s <font color=Red>=</font> <font color=Magenta>"&lt;i&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/i&gt;"</font>
+<a name="line-77"></a>
+<a name="line-78"></a><a name="escape"></a>escape <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;lt;"</font><font color=Cyan>++</font>escape cs
+<a name="line-79"></a>escape <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;gt;"</font><font color=Cyan>++</font>escape cs
+<a name="line-80"></a>escape <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;amp;"</font><font color=Cyan>++</font>escape cs
+<a name="line-81"></a>escape <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>   <font color=Red>=</font> c<b><font color=Red>:</font></b> escape cs
+<a name="line-82"></a>escape []       <font color=Red>=</font> []
+<a name="line-83"></a>
+<a name="line-84"></a><a name="htmlHeader"></a>htmlHeader title <font color=Red>=</font> unlines
+<a name="line-85"></a>  <font color=Red>[</font> <font color=Magenta>"&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"&gt;"</font>
+<a name="line-86"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;html&gt;"</font>
+<a name="line-87"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;head&gt;"</font>
+<a name="line-88"></a>  <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>
+<a name="line-89"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>
+<a name="line-90"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;/head&gt;"</font>
+<a name="line-91"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;body&gt;"</font>
+<a name="line-92"></a>  <font color=Red>]</font>
+<a name="line-93"></a><a name="htmlClose"></a>htmlClose  <font color=Red>=</font> <font color=Magenta>"\n&lt;/body&gt;\n&lt;/html&gt;"</font>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/InlineCSS.html b/docs/hscolour/Language/Haskell/HsColour/InlineCSS.html
new file mode 100644
--- /dev/null
+++ b/docs/hscolour/Language/Haskell/HsColour/InlineCSS.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
+<title>Language/Haskell/HsColour/InlineCSS.hs</title>
+</head>
+<body>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Formats Haskell source code as HTML with inline CSS.</i></font>
+<a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>InlineCSS <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
+<a name="line-3"></a>
+<a name="line-4"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors
+<a name="line-5"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify <u><font color=Green>as</font></u> Classify
+<a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise
+<a name="line-7"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML <font color=Cyan>(</font>renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font>
+<a name="line-8"></a>                                       renderNewLinesAnchors<font color=Cyan>,</font> escape<font color=Cyan>)</font>
+<a name="line-9"></a>
+<a name="line-10"></a><a name="hscolour"></a><font color=Blue><i>-- | Formats Haskell source code as a complete HTML document with inline styling</i></font>
+<a name="line-11"></a>hscolour <font color=Red>::</font> ColourPrefs	<font color=Blue><i>-- ^ Preferences for styling.</i></font>
+<a name="line-12"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue><i>-- ^ Whether to include anchors.</i></font>
+<a name="line-13"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue><i>-- ^ Whether output should be partial</i></font>
+<a name="line-14"></a>                   <font color=Blue><i>--   (= no document headers will be included.)</i></font>
+<a name="line-15"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ Title for HTML page.</i></font>
+<a name="line-16"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-17"></a>         <font color=Red>-&gt;</font> String <font color=Blue><i>-- ^ An HTML document containing the coloured </i></font>
+<a name="line-18"></a>                   <font color=Blue><i>--   Haskell source code.</i></font>
+<a name="line-19"></a>hscolour prefs anchor partial title <font color=Red>=</font>
+<a name="line-20"></a>  <font color=Cyan>(</font><u><font color=Green>if</font></u> partial <u><font color=Green>then</font></u> id <u><font color=Green>else</font></u> top'n'tail title<font color=Cyan>)</font>
+<a name="line-21"></a>  <font color=Cyan>.</font> pre
+<a name="line-22"></a>  <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor 
+<a name="line-23"></a>        <u><font color=Green>then</font></u> renderNewLinesAnchors
+<a name="line-24"></a>             <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-25"></a>             <font color=Cyan>.</font> insertAnchors
+<a name="line-26"></a>        <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>
+<a name="line-27"></a>  <font color=Cyan>.</font> tokenise
+<a name="line-28"></a>
+<a name="line-29"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
+<a name="line-30"></a>top'n'tail title  <font color=Red>=</font> <font color=Cyan>(</font>cssPrefix title <font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>cssSuffix<font color=Cyan>)</font>
+<a name="line-31"></a>
+<a name="line-32"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String
+<a name="line-33"></a>pre <font color=Red>=</font>   <font color=Cyan>(</font><font color=Magenta>"&lt;pre style=\"font-family:Consolas, Monaco, Monospace;\"&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font>
+<a name="line-34"></a>      <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font>
+<a name="line-35"></a>
+<a name="line-36"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String
+<a name="line-37"></a>renderToken prefs <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font>
+<a name="line-38"></a>  stylise <font color=Cyan>(</font>colourise prefs cls<font color=Cyan>)</font> <font color=Cyan>$</font>
+<a name="line-39"></a>  <u><font color=Green>if</font></u> cls <font color=Cyan>==</font> Comment <u><font color=Green>then</font></u> renderComment text <u><font color=Green>else</font></u> escape text
+<a name="line-40"></a>
+<a name="line-41"></a><a name="stylise"></a>stylise <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
+<a name="line-42"></a>stylise hs s <font color=Red>=</font> <font color=Magenta>"&lt;span style=\""</font> <font color=Cyan>++</font> concatMap style hs <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font>s<font color=Cyan>++</font> <font color=Magenta>"&lt;/span&gt;"</font>
+<a name="line-43"></a>
+<a name="line-44"></a><a name="cssPrefix"></a>cssPrefix title <font color=Red>=</font> unlines
+<a name="line-45"></a>    <font color=Red>[</font><font color=Magenta>"&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"&gt;"</font>
+<a name="line-46"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;html&gt;"</font>
+<a name="line-47"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;head&gt;"</font>
+<a name="line-48"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>
+<a name="line-49"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>
+<a name="line-50"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/head&gt;"</font>
+<a name="line-51"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;body style=\"background-color: #131313; color: #ffffff;\"&gt;"</font>
+<a name="line-52"></a>    <font color=Red>]</font>
+<a name="line-53"></a>    
+<a name="line-54"></a><a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines
+<a name="line-55"></a>    <font color=Red>[</font><font color=Magenta>"&lt;/body&gt;"</font>
+<a name="line-56"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/html&gt;"</font>
+<a name="line-57"></a>    <font color=Red>]</font>
+<a name="line-58"></a>
+<a name="line-59"></a><a name="style"></a>style <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> String
+<a name="line-60"></a>style Normal         <font color=Red>=</font> <font color=Magenta>""</font>
+<a name="line-61"></a>style Bold           <font color=Red>=</font> <font color=Magenta>"font-weight: bold;"</font>
+<a name="line-62"></a>style Dim            <font color=Red>=</font> <font color=Magenta>"font-weight: lighter;"</font>
+<a name="line-63"></a>style Underscore     <font color=Red>=</font> <font color=Magenta>"text-decoration: underline;"</font>
+<a name="line-64"></a>style Blink          <font color=Red>=</font> <font color=Magenta>"text-decoration:  blink;"</font>
+<a name="line-65"></a>style ReverseVideo   <font color=Red>=</font> <font color=Magenta>""</font>
+<a name="line-66"></a>style Concealed      <font color=Red>=</font> <font color=Magenta>"text-decoration:  line-through;"</font>
+<a name="line-67"></a>style <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"color: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>
+<a name="line-68"></a>style <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"background-colour: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>
+<a name="line-69"></a>style Italic         <font color=Red>=</font> <font color=Magenta>"font-style: italic;"</font>
+<a name="line-70"></a>
+<a name="line-71"></a><a name="csscolour"></a>csscolour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String
+<a name="line-72"></a>csscolour Black   <font color=Red>=</font> <font color=Magenta>"#000000"</font>
+<a name="line-73"></a>csscolour Red     <font color=Red>=</font> <font color=Magenta>"#ff0000"</font>
+<a name="line-74"></a>csscolour Green   <font color=Red>=</font> <font color=Magenta>"#00ff00"</font>
+<a name="line-75"></a>csscolour Yellow  <font color=Red>=</font> <font color=Magenta>"#ffff00"</font>
+<a name="line-76"></a>csscolour Blue    <font color=Red>=</font> <font color=Magenta>"#0000ff"</font>
+<a name="line-77"></a>csscolour Magenta <font color=Red>=</font> <font color=Magenta>"#ff00ff"</font>
+<a name="line-78"></a>csscolour Cyan    <font color=Red>=</font> <font color=Magenta>"#00ffff"</font>
+<a name="line-79"></a>csscolour White   <font color=Red>=</font> <font color=Magenta>"#ffffff"</font>
+<a name="line-80"></a>
+</pre>
+</body>
+</html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/LaTeX.html b/docs/hscolour/Language/Haskell/HsColour/LaTeX.html
--- a/docs/hscolour/Language/Haskell/HsColour/LaTeX.html
+++ b/docs/hscolour/Language/Haskell/HsColour/LaTeX.html
@@ -5,19 +5,19 @@
 <title>Language/Haskell/HsColour/LaTeX.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code using LaTeX macros.</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Formats Haskell source code using LaTeX macros.</i></font>
 <a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>LaTeX <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-3"></a>
 <a name="line-4"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify <u><font color=Green>as</font></u> Classify
 <a name="line-5"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise
 <a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>General
 <a name="line-7"></a>
-<a name="line-8"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code as a complete LaTeX document.</font>
-<a name="line-9"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>
-<a name="line-10"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output should be partial (= no prologue).</font>
-<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-12"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ A LaTeX document\/fragment containing the coloured </font>
-<a name="line-13"></a>                        <font color=Blue>--   Haskell source code.</font>
+<a name="line-8"></a><a name="hscolour"></a><font color=Blue><i>-- | Formats Haskell source code as a complete LaTeX document.</i></font>
+<a name="line-9"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences.</i></font>
+<a name="line-10"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue><i>-- ^ Whether output should be partial (= no prologue).</i></font>
+<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-12"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ A LaTeX document\/fragment containing the coloured </i></font>
+<a name="line-13"></a>                        <font color=Blue><i>--   Haskell source code.</i></font>
 <a name="line-14"></a>hscolour pref partial <font color=Red>=</font>
 <a name="line-15"></a>  <font color=Cyan>(</font> <u><font color=Green>if</font></u> partial <u><font color=Green>then</font></u> id <u><font color=Green>else</font></u> top'n'tail<font color=Cyan>)</font>
 <a name="line-16"></a>  <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font>
@@ -26,8 +26,8 @@
 <a name="line-19"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String
 <a name="line-20"></a>top'n'tail  <font color=Red>=</font> <font color=Cyan>(</font>latexPrefix<font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>latexSuffix<font color=Cyan>)</font>
 <a name="line-21"></a>
-<a name="line-22"></a><a name="renderToken"></a><font color=Blue>-- | Wrap each lexeme in the appropriate LaTeX macro.</font>
-<a name="line-23"></a><font color=Blue>--   TODO: filter dangerous characters like "{}_$"</font>
+<a name="line-22"></a><a name="renderToken"></a><font color=Blue><i>-- | Wrap each lexeme in the appropriate LaTeX macro.</i></font>
+<a name="line-23"></a><font color=Blue><i>--   TODO: filter dangerous characters like "{}_$"</i></font>
 <a name="line-24"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String
 <a name="line-25"></a>renderToken pref <font color=Cyan>(</font>Space<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font> filterSpace text
 <a name="line-26"></a>renderToken pref <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font>   <font color=Red>=</font>
@@ -38,7 +38,7 @@
 <a name="line-31"></a>      <font color=Cyan>(</font>pre<font color=Cyan>,</font> post<font color=Cyan>)</font> <font color=Red>=</font> unzip <font color=Cyan>$</font> map latexHighlight style
 <a name="line-32"></a>  <u><font color=Green>in</font></u> concat pre <font color=Cyan>++</font> filterSpecial symb <font color=Cyan>++</font> concat post
 <a name="line-33"></a>
-<a name="line-34"></a><a name="filterSpace"></a><font color=Blue>-- | Filter white space characters.</font>
+<a name="line-34"></a><a name="filterSpace"></a><font color=Blue><i>-- | Filter white space characters.</i></font>
 <a name="line-35"></a>filterSpace <font color=Red>::</font> String
 <a name="line-36"></a>            <font color=Red>-&gt;</font> String
 <a name="line-37"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>
@@ -47,10 +47,10 @@
 <a name="line-40"></a>filterSpace <font color=Cyan>(</font>c<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>    <font color=Red>=</font> c<b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>
 <a name="line-41"></a>filterSpace []        <font color=Red>=</font> []
 <a name="line-42"></a>
-<a name="line-43"></a><a name="filterSpecial"></a><font color=Blue>-- | Filters the characters "#$%&amp;~_^\{}" which are special</font>
-<a name="line-44"></a><font color=Blue>--   in LaTeX.</font>
-<a name="line-45"></a>filterSpecial <font color=Red>::</font> String  <font color=Blue>-- ^ The string to filter. </font>
-<a name="line-46"></a>              <font color=Red>-&gt;</font> String  <font color=Blue>-- ^ The LaTeX-safe string.</font>
+<a name="line-43"></a><a name="filterSpecial"></a><font color=Blue><i>-- | Filters the characters "#$%&amp;~_^\{}" which are special</i></font>
+<a name="line-44"></a><font color=Blue><i>--   in LaTeX.</i></font>
+<a name="line-45"></a>filterSpecial <font color=Red>::</font> String  <font color=Blue><i>-- ^ The string to filter. </i></font>
+<a name="line-46"></a>              <font color=Red>-&gt;</font> String  <font color=Blue><i>-- ^ The LaTeX-safe string.</i></font>
 <a name="line-47"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'#'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'#'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>
 <a name="line-48"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'$'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'$'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>
 <a name="line-49"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'%'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'%'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>
@@ -70,7 +70,7 @@
 <a name="line-63"></a>filterSpecial []        <font color=Red>=</font> []
 <a name="line-64"></a>
 <a name="line-65"></a>
-<a name="line-66"></a><a name="latexHighlight"></a><font color=Blue>-- | Constructs the appropriate LaTeX macro for the given style.</font>
+<a name="line-66"></a><a name="latexHighlight"></a><font color=Blue><i>-- | Constructs the appropriate LaTeX macro for the given style.</i></font>
 <a name="line-67"></a>latexHighlight <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Cyan>,</font> String<font color=Cyan>)</font>
 <a name="line-68"></a>latexHighlight Normal         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\rm{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
 <a name="line-69"></a>latexHighlight Bold           <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\bf{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
@@ -81,39 +81,40 @@
 <a name="line-74"></a>latexHighlight Concealed      <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\conceal{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
 <a name="line-75"></a>latexHighlight <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\textcolor{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
 <a name="line-76"></a>latexHighlight <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\colorbox{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
-<a name="line-77"></a>
-<a name="line-78"></a><a name="latexColour"></a><font color=Blue>-- | Translate a 'Colour' into a LaTeX colour name.</font>
-<a name="line-79"></a>latexColour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String
-<a name="line-80"></a>latexColour Black   <font color=Red>=</font> <font color=Magenta>"black"</font>
-<a name="line-81"></a>latexColour Red     <font color=Red>=</font> <font color=Magenta>"red"</font>
-<a name="line-82"></a>latexColour Green   <font color=Red>=</font> <font color=Magenta>"green"</font>
-<a name="line-83"></a>latexColour Yellow  <font color=Red>=</font> <font color=Magenta>"yellow"</font>
-<a name="line-84"></a>latexColour Blue    <font color=Red>=</font> <font color=Magenta>"blue"</font>
-<a name="line-85"></a>latexColour Magenta <font color=Red>=</font> <font color=Magenta>"magenta"</font>
-<a name="line-86"></a>latexColour Cyan    <font color=Red>=</font> <font color=Magenta>"cyan"</font>
-<a name="line-87"></a>latexColour White   <font color=Red>=</font> <font color=Magenta>"white"</font>
-<a name="line-88"></a>
-<a name="line-89"></a><a name="latexPrefix"></a><font color=Blue>-- | Generic LaTeX document preamble.</font>
-<a name="line-90"></a>latexPrefix <font color=Red>=</font> unlines
-<a name="line-91"></a>    <font color=Red>[</font><font color=Magenta>"\\documentclass[a4paper, 12pt]{article}"</font>
-<a name="line-92"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage[usenames]{color}"</font>
-<a name="line-93"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage{hyperref}"</font>
-<a name="line-94"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\spaceb}"</font>
-<a name="line-95"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\tabb}"</font>
-<a name="line-96"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\spaceb}[1ex]{~}"</font>
-<a name="line-97"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\tabb}[4ex]{~}"</font>
-<a name="line-98"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"</font>
-<a name="line-99"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hstab}{\\usebox{\\tabb}}"</font>
-<a name="line-100"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\conceal}[1]{}"</font>
-<a name="line-101"></a>    <font color=Cyan>,</font><font color=Magenta>"\\begin{document}"</font>
-<a name="line-102"></a>    <font color=Cyan>,</font><font color=Magenta>"\\noindent"</font>
-<a name="line-103"></a>    <font color=Red>]</font>
-<a name="line-104"></a>
-<a name="line-105"></a><a name="latexSuffix"></a><font color=Blue>-- | Generic LaTeX document postamble.</font>
-<a name="line-106"></a>latexSuffix <font color=Red>=</font> unlines
-<a name="line-107"></a>    <font color=Red>[</font><font color=Magenta>""</font>
-<a name="line-108"></a>    <font color=Cyan>,</font><font color=Magenta>"\\end{document}"</font>
-<a name="line-109"></a>    <font color=Red>]</font>
+<a name="line-77"></a>latexHighlight Italic         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\it{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>
+<a name="line-78"></a>
+<a name="line-79"></a><a name="latexColour"></a><font color=Blue><i>-- | Translate a 'Colour' into a LaTeX colour name.</i></font>
+<a name="line-80"></a>latexColour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String
+<a name="line-81"></a>latexColour Black   <font color=Red>=</font> <font color=Magenta>"black"</font>
+<a name="line-82"></a>latexColour Red     <font color=Red>=</font> <font color=Magenta>"red"</font>
+<a name="line-83"></a>latexColour Green   <font color=Red>=</font> <font color=Magenta>"green"</font>
+<a name="line-84"></a>latexColour Yellow  <font color=Red>=</font> <font color=Magenta>"yellow"</font>
+<a name="line-85"></a>latexColour Blue    <font color=Red>=</font> <font color=Magenta>"blue"</font>
+<a name="line-86"></a>latexColour Magenta <font color=Red>=</font> <font color=Magenta>"magenta"</font>
+<a name="line-87"></a>latexColour Cyan    <font color=Red>=</font> <font color=Magenta>"cyan"</font>
+<a name="line-88"></a>latexColour White   <font color=Red>=</font> <font color=Magenta>"white"</font>
+<a name="line-89"></a>
+<a name="line-90"></a><a name="latexPrefix"></a><font color=Blue><i>-- | Generic LaTeX document preamble.</i></font>
+<a name="line-91"></a>latexPrefix <font color=Red>=</font> unlines
+<a name="line-92"></a>    <font color=Red>[</font><font color=Magenta>"\\documentclass[a4paper, 12pt]{article}"</font>
+<a name="line-93"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage[usenames]{color}"</font>
+<a name="line-94"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage{hyperref}"</font>
+<a name="line-95"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\spaceb}"</font>
+<a name="line-96"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\tabb}"</font>
+<a name="line-97"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\spaceb}[1ex]{~}"</font>
+<a name="line-98"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\tabb}[4ex]{~}"</font>
+<a name="line-99"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"</font>
+<a name="line-100"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hstab}{\\usebox{\\tabb}}"</font>
+<a name="line-101"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\conceal}[1]{}"</font>
+<a name="line-102"></a>    <font color=Cyan>,</font><font color=Magenta>"\\begin{document}"</font>
+<a name="line-103"></a>    <font color=Cyan>,</font><font color=Magenta>"\\noindent"</font>
+<a name="line-104"></a>    <font color=Red>]</font>
+<a name="line-105"></a>
+<a name="line-106"></a><a name="latexSuffix"></a><font color=Blue><i>-- | Generic LaTeX document postamble.</i></font>
+<a name="line-107"></a>latexSuffix <font color=Red>=</font> unlines
+<a name="line-108"></a>    <font color=Red>[</font><font color=Magenta>""</font>
+<a name="line-109"></a>    <font color=Cyan>,</font><font color=Magenta>"\\end{document}"</font>
+<a name="line-110"></a>    <font color=Red>]</font>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/MIRC.html b/docs/hscolour/Language/Haskell/HsColour/MIRC.html
--- a/docs/hscolour/Language/Haskell/HsColour/MIRC.html
+++ b/docs/hscolour/Language/Haskell/HsColour/MIRC.html
@@ -5,8 +5,8 @@
 <title>Language/Haskell/HsColour/MIRC.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code using mIRC codes.</font>
-<a name="line-2"></a><font color=Blue>--   (see http:\/\/irssi.org\/documentation\/formats)</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Formats Haskell source code using mIRC codes.</i></font>
+<a name="line-2"></a><font color=Blue><i>--   (see http:\/\/irssi.org\/documentation\/formats)</i></font>
 <a name="line-3"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>MIRC <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-4"></a>
 <a name="line-5"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify <u><font color=Green>as</font></u> Classify
@@ -15,17 +15,17 @@
 <a name="line-8"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Char<font color=Cyan>(</font>isAlphaNum<font color=Cyan>)</font>
 <a name="line-9"></a>
 <a name="line-10"></a>
-<a name="line-11"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code using mIRC codes.</font>
-<a name="line-12"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>
-<a name="line-13"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-14"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>
+<a name="line-11"></a><a name="hscolour"></a><font color=Blue><i>-- | Formats Haskell source code using mIRC codes.</i></font>
+<a name="line-12"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences.</i></font>
+<a name="line-13"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-14"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Coloured Haskell source code.</i></font>
 <a name="line-15"></a>hscolour pref <font color=Red>=</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font> <font color=Cyan>.</font> tokenise
 <a name="line-16"></a>
 <a name="line-17"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String
 <a name="line-18"></a>renderToken pref <font color=Cyan>(</font>t<font color=Cyan>,</font>s<font color=Cyan>)</font> <font color=Red>=</font> fontify <font color=Cyan>(</font>colourise pref t<font color=Cyan>)</font> s
 <a name="line-19"></a>
 <a name="line-20"></a>
-<a name="line-21"></a><a name="fontify"></a><font color=Blue>-- mIRC stuff</font>
+<a name="line-21"></a><a name="fontify"></a><font color=Blue><i>-- mIRC stuff</i></font>
 <a name="line-22"></a>fontify hs <font color=Red>=</font>
 <a name="line-23"></a>    mircColours <font color=Cyan>(</font>joinColours hs<font color=Cyan>)</font>
 <a name="line-24"></a>    <font color=Cyan>.</font> highlight <font color=Cyan>(</font>filter <font color=Cyan>(</font><font color=Cyan>`elem`</font><font color=Red>[</font>Normal<font color=Cyan>,</font>Bold<font color=Cyan>,</font>Underscore<font color=Cyan>,</font>ReverseVideo<font color=Red>]</font><font color=Cyan>)</font> hs<font color=Cyan>)</font>
@@ -38,7 +38,7 @@
 <a name="line-31"></a>    font Underscore     s <font color=Red>=</font> <font color=Magenta>'\^_'</font><b><font color=Red>:</font></b>s<font color=Cyan>++</font><font color=Magenta>"\^_"</font>
 <a name="line-32"></a>    font ReverseVideo   s <font color=Red>=</font> <font color=Magenta>'\^V'</font><b><font color=Red>:</font></b>s<font color=Cyan>++</font><font color=Magenta>"\^V"</font>
 <a name="line-33"></a>
-<a name="line-34"></a><a name="MircColour"></a><font color=Blue>-- mIRC combines colour codes in a non-modular way</font>
+<a name="line-34"></a><a name="MircColour"></a><font color=Blue><i>-- mIRC combines colour codes in a non-modular way</i></font>
 <a name="line-35"></a><a name="MircColour"></a><u><font color=Green>data</font></u> MircColour <font color=Red>=</font> Mirc <font color=Cyan>{</font> fg<font color=Red>::</font>Colour<font color=Cyan>,</font> dim<font color=Red>::</font>Bool<font color=Cyan>,</font> bg<font color=Red>::</font>Maybe Colour<font color=Cyan>,</font> blink<font color=Red>::</font>Bool<font color=Cyan>}</font>
 <a name="line-36"></a>
 <a name="line-37"></a><a name="joinColours"></a>joinColours <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> MircColour
diff --git a/docs/hscolour/Language/Haskell/HsColour/Options.html b/docs/hscolour/Language/Haskell/HsColour/Options.html
--- a/docs/hscolour/Language/Haskell/HsColour/Options.html
+++ b/docs/hscolour/Language/Haskell/HsColour/Options.html
@@ -13,17 +13,17 @@
 <a name="line-6"></a>
 <a name="line-7"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Output
 <a name="line-8"></a>
-<a name="line-9"></a><a name="Option"></a><font color=Blue>-- | Command-line options</font>
+<a name="line-9"></a><a name="Option"></a><font color=Blue><i>-- | Command-line options</i></font>
 <a name="line-10"></a><a name="Option"></a><u><font color=Green>data</font></u> Option <font color=Red>=</font>
-<a name="line-11"></a>    Help		<font color=Blue>-- ^ print usage message</font>
-<a name="line-12"></a>  <font color=Red>|</font> Version		<font color=Blue>-- ^ report version</font>
-<a name="line-13"></a>  <font color=Red>|</font> Information		<font color=Blue>-- ^ report auxiliary information, e.g. CSS defaults</font>
-<a name="line-14"></a>  <font color=Red>|</font> Format Output	<font color=Blue>-- ^ what type of output to produce</font>
-<a name="line-15"></a>  <font color=Red>|</font> LHS Literate	<font color=Blue>-- ^ literate input (i.e. multiple embedded fragments)</font>
-<a name="line-16"></a>  <font color=Red>|</font> Anchors Bool	<font color=Blue>-- ^ whether to add anchors</font>
-<a name="line-17"></a>  <font color=Red>|</font> Partial Bool	<font color=Blue>-- ^ whether to produce a full document or partial</font>
-<a name="line-18"></a>  <font color=Red>|</font> Input FilePath	<font color=Blue>-- ^ input source file</font>
-<a name="line-19"></a>  <font color=Red>|</font> Output FilePath	<font color=Blue>-- ^ output source file</font>
+<a name="line-11"></a>    Help		<font color=Blue><i>-- ^ print usage message</i></font>
+<a name="line-12"></a>  <font color=Red>|</font> Version		<font color=Blue><i>-- ^ report version</i></font>
+<a name="line-13"></a>  <font color=Red>|</font> Information		<font color=Blue><i>-- ^ report auxiliary information, e.g. CSS defaults</i></font>
+<a name="line-14"></a>  <font color=Red>|</font> Format Output	<font color=Blue><i>-- ^ what type of output to produce</i></font>
+<a name="line-15"></a>  <font color=Red>|</font> LHS Literate	<font color=Blue><i>-- ^ literate input (i.e. multiple embedded fragments)</i></font>
+<a name="line-16"></a>  <font color=Red>|</font> Anchors Bool	<font color=Blue><i>-- ^ whether to add anchors</i></font>
+<a name="line-17"></a>  <font color=Red>|</font> Partial Bool	<font color=Blue><i>-- ^ whether to produce a full document or partial</i></font>
+<a name="line-18"></a>  <font color=Red>|</font> Input FilePath	<font color=Blue><i>-- ^ input source file</i></font>
+<a name="line-19"></a>  <font color=Red>|</font> Output FilePath	<font color=Blue><i>-- ^ output source file</i></font>
 <a name="line-20"></a>  <u><font color=Green>deriving</font></u> Eq
 <a name="line-21"></a>
 <a name="line-22"></a><a name="Literate"></a><u><font color=Green>data</font></u> Literate <font color=Red>=</font> NoLit <font color=Red>|</font> Bird <font color=Red>|</font> TeX <u><font color=Green>deriving</font></u> Eq
diff --git a/docs/hscolour/Language/Haskell/HsColour/Output.html b/docs/hscolour/Language/Haskell/HsColour/Output.html
--- a/docs/hscolour/Language/Haskell/HsColour/Output.html
+++ b/docs/hscolour/Language/Haskell/HsColour/Output.html
@@ -7,13 +7,14 @@
 <body>
 <pre><a name="line-1"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Output <u><font color=Green>where</font></u>
 <a name="line-2"></a>
-<a name="line-3"></a><a name="Output"></a><font color=Blue>-- | The supported output formats.</font>
-<a name="line-4"></a><a name="Output"></a><u><font color=Green>data</font></u> Output <font color=Red>=</font> TTY   <font color=Blue>-- ^ ANSI terminal codes</font>
-<a name="line-5"></a>            <font color=Red>|</font> LaTeX <font color=Blue>-- ^ TeX macros</font>
-<a name="line-6"></a>            <font color=Red>|</font> HTML  <font color=Blue>-- ^ HTML with font tags</font>
-<a name="line-7"></a>            <font color=Red>|</font> CSS   <font color=Blue>-- ^ HTML with CSS.</font>
-<a name="line-8"></a>            <font color=Red>|</font> MIRC  <font color=Blue>-- ^ mIRC chat clients</font>
-<a name="line-9"></a>  <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>
+<a name="line-3"></a><a name="Output"></a><font color=Blue><i>-- | The supported output formats.</i></font>
+<a name="line-4"></a><a name="Output"></a><u><font color=Green>data</font></u> Output <font color=Red>=</font> TTY   <font color=Blue><i>-- ^ ANSI terminal codes</i></font>
+<a name="line-5"></a>            <font color=Red>|</font> LaTeX <font color=Blue><i>-- ^ TeX macros</i></font>
+<a name="line-6"></a>            <font color=Red>|</font> HTML  <font color=Blue><i>-- ^ HTML with font tags</i></font>
+<a name="line-7"></a>            <font color=Red>|</font> CSS   <font color=Blue><i>-- ^ HTML with CSS.</i></font>
+<a name="line-8"></a>            <font color=Red>|</font> ICSS  <font color=Blue><i>-- ^ HTML with inline CSS.</i></font>
+<a name="line-9"></a>            <font color=Red>|</font> MIRC  <font color=Blue><i>-- ^ mIRC chat clients</i></font>
+<a name="line-10"></a>  <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>
 </pre>
 </body>
 </html>
diff --git a/docs/hscolour/Language/Haskell/HsColour/TTY.html b/docs/hscolour/Language/Haskell/HsColour/TTY.html
--- a/docs/hscolour/Language/Haskell/HsColour/TTY.html
+++ b/docs/hscolour/Language/Haskell/HsColour/TTY.html
@@ -5,17 +5,17 @@
 <title>Language/Haskell/HsColour/TTY.hs</title>
 </head>
 <body>
-<pre><a name="line-1"></a><font color=Blue>-- | Highlights Haskell code with ANSI terminal codes.</font>
+<pre><a name="line-1"></a><font color=Blue><i>-- | Highlights Haskell code with ANSI terminal codes.</i></font>
 <a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>TTY <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
 <a name="line-3"></a>
 <a name="line-4"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ANSI <u><font color=Green>as</font></u> ANSI
 <a name="line-5"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify
 <a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise
 <a name="line-7"></a>
-<a name="line-8"></a><a name="hscolour"></a><font color=Blue>-- | Highlights Haskell code with ANSI terminal codes.</font>
-<a name="line-9"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>
-<a name="line-10"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>
-<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>
+<a name="line-8"></a><a name="hscolour"></a><font color=Blue><i>-- | Highlights Haskell code with ANSI terminal codes.</i></font>
+<a name="line-9"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue><i>-- ^ Colour preferences.</i></font>
+<a name="line-10"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Haskell source code.</i></font>
+<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue><i>-- ^ Coloured Haskell source code.</i></font>
 <a name="line-12"></a>hscolour pref <font color=Red>=</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font> <font color=Cyan>.</font> tokenise
 <a name="line-13"></a>
 <a name="line-14"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String
diff --git a/docs/hscolour/doc-index-H.html b/docs/hscolour/doc-index-H.html
--- a/docs/hscolour/doc-index-H.html
+++ b/docs/hscolour/doc-index-H.html
@@ -219,13 +219,21 @@
 ><TD CLASS="indexannot"
 >4 (Function)</TD
 ><TD CLASS="indexlinks"
+><A HREF="Language-Haskell-HsColour-InlineCSS.html#v%3Ahscolour"
+>Language.Haskell.HsColour.InlineCSS</A
+></TD
+></TR
+><TR
+><TD CLASS="indexannot"
+>5 (Function)</TD
+><TD CLASS="indexlinks"
 ><A HREF="Language-Haskell-HsColour-LaTeX.html#v%3Ahscolour"
 >Language.Haskell.HsColour.LaTeX</A
 ></TD
 ></TR
 ><TR
 ><TD CLASS="indexannot"
->5 (Function)</TD
+>6 (Function)</TD
 ><TD CLASS="indexlinks"
 ><A HREF="Language-Haskell-HsColour-MIRC.html#v%3Ahscolour"
 >Language.Haskell.HsColour.MIRC</A
@@ -233,7 +241,7 @@
 ></TR
 ><TR
 ><TD CLASS="indexannot"
->6 (Function)</TD
+>7 (Function)</TD
 ><TD CLASS="indexlinks"
 ><A HREF="Language-Haskell-HsColour-TTY.html#v%3Ahscolour"
 >Language.Haskell.HsColour.TTY</A
diff --git a/docs/hscolour/doc-index-I.html b/docs/hscolour/doc-index-I.html
--- a/docs/hscolour/doc-index-I.html
+++ b/docs/hscolour/doc-index-I.html
@@ -135,6 +135,18 @@
 ><TABLE CELLPADDING="0" CELLSPACING="5"
 ><TR
 ><TD CLASS="indexentry"
+>ICSS</TD
+><TD CLASS="indexlinks"
+><A HREF="Language-Haskell-HsColour-Output.html#v%3AICSS"
+>Language.Haskell.HsColour.Output</A
+>, <A HREF="Language-Haskell-HsColour-Options.html#v%3AICSS"
+>Language.Haskell.HsColour.Options</A
+>, <A HREF="Language-Haskell-HsColour.html#v%3AICSS"
+>Language.Haskell.HsColour</A
+></TD
+></TR
+><TR
+><TD CLASS="indexentry"
 >Information</TD
 ><TD CLASS="indexlinks"
 ><A HREF="Language-Haskell-HsColour-Options.html#v%3AInformation"
@@ -147,6 +159,16 @@
 ><TD CLASS="indexlinks"
 ><A HREF="Language-Haskell-HsColour-Options.html#v%3AInput"
 >Language.Haskell.HsColour.Options</A
+></TD
+></TR
+><TR
+><TD CLASS="indexentry"
+>Italic</TD
+><TD CLASS="indexlinks"
+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AItalic"
+>Language.Haskell.HsColour.ColourHighlight</A
+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AItalic"
+>Language.Haskell.HsColour.ANSI</A
 ></TD
 ></TR
 ><TR
diff --git a/docs/hscolour/index.html b/docs/hscolour/index.html
--- a/docs/hscolour/index.html
+++ b/docs/hscolour/index.html
@@ -159,6 +159,16 @@
 ></TR
 ><TR
 ><TD STYLE="padding-left: 1.25em;width: 44em"
+><A HREF="Language-Haskell-HsColour-InlineCSS.html"
+>Language.Haskell.HsColour.InlineCSS</A
+></TD
+><TD
+></TD
+><TD
+></TD
+></TR
+><TR
+><TD STYLE="padding-left: 1.25em;width: 44em"
 ><A HREF="Language-Haskell-HsColour-LaTeX.html"
 >Language.Haskell.HsColour.LaTeX</A
 ></TD
diff --git a/hscolour.cabal b/hscolour.cabal
--- a/hscolour.cabal
+++ b/hscolour.cabal
@@ -1,5 +1,5 @@
 Name: hscolour
-Version: 1.12
+Version: 1.13
 Copyright: 2003-2009 Malcolm Wallace, University of York; 2006 Bjorn Bringert
 Maintainer: Malcolm Wallace
 Author: Malcolm Wallace
@@ -11,28 +11,30 @@
 Synopsis: Colourise Haskell code.
 Description:
   hscolour is a small Haskell script to colourise Haskell code. It currently
-  has five output formats: 
+  has six output formats: 
   ANSI terminal codes,
   HTML 3.2 with <font> tags,
   HTML 4.01 with CSS,
+  XHTML 1.0 with inline CSS styling,
   LaTeX,
   and mIRC chat codes.
 Category: Language
 Exposed-Modules: 
-  Language.Haskell.HsColour,
-  Language.Haskell.HsColour.ANSI,
-  Language.Haskell.HsColour.Anchors,
-  Language.Haskell.HsColour.Classify,
-  Language.Haskell.HsColour.ColourHighlight,
-  Language.Haskell.HsColour.Colourise,
-  Language.Haskell.HsColour.TTY,
-  Language.Haskell.HsColour.HTML,
-  Language.Haskell.HsColour.LaTeX,
-  Language.Haskell.HsColour.General,
-  Language.Haskell.HsColour.MIRC,
+  Language.Haskell.HsColour
+  Language.Haskell.HsColour.ANSI
+  Language.Haskell.HsColour.Anchors
   Language.Haskell.HsColour.CSS
-  Language.Haskell.HsColour.Output
+  Language.Haskell.HsColour.Classify
+  Language.Haskell.HsColour.ColourHighlight
+  Language.Haskell.HsColour.Colourise
+  Language.Haskell.HsColour.General
+  Language.Haskell.HsColour.HTML
+  Language.Haskell.HsColour.InlineCSS
+  Language.Haskell.HsColour.LaTeX
+  Language.Haskell.HsColour.MIRC
   Language.Haskell.HsColour.Options
+  Language.Haskell.HsColour.Output
+  Language.Haskell.HsColour.TTY
 data-files: hscolour.css
 --ghc-options: -O -W
 Build-Type: Simple
diff --git a/index.html b/index.html
--- a/index.html
+++ b/index.html
@@ -10,8 +10,9 @@
 
 <p>
 <b>hscolour</b> is a small Haskell script to colourise Haskell code.
-It currently has five output formats: ANSI terminal codes, HTML 3.2 with
-&lt;font&gt; tags, HTML 4.01 with CSS, LaTeX, and mIRC chat client codes.
+It currently has six output formats: ANSI terminal codes, HTML 3.2 with
+&lt;font&gt; tags, HTML 4.01 with CSS, XHTML 1.0 with inline CSS styling,
+LaTeX, and mIRC chat client codes.
 
 <h2>Example</h2>
 <p>
@@ -35,10 +36,10 @@
 <li> Download a tarfile package from:
      <a href="ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/">
      ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/</a>
-     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.11.tar.gz">
-     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.11.tar.gz</a>
-     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.11.zip">
-     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.11.zip</a>
+     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.13.tar.gz">
+     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.13.tar.gz</a>
+     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.13.zip">
+     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.13.zip</a>
 <li> Or use the <a href="http://darcs.net/">darcs</a> repository at<br>
        <tt>darcs get http://www.cs.york.ac.uk/fp/darcs/hscolour</tt>
 <li> Sources and history are browsable on-line through
@@ -56,6 +57,7 @@
 <li><tt>ghc --make HsColour</tt>
 <li><tt>runhugs HsColour</tt>
 <li><tt>runhaskell Setup.hs configure/build/install</tt>
+<li><tt>cabal install hscolour</tt>
 </ul>
 
 <h2>Use</h2>
@@ -64,7 +66,7 @@
 <li><pre>
 HsColour [ -help | -version | -print-css ]
          [ -oOUTPUT ]
-         [ -tty | -html | -css | -latex | -mirc ]
+         [ -tty | -html | -css | -icss | -latex | -mirc ]
          [ -lit | -lit-tex | -nolit ]
          [ -anchor | -noanchor | -partial | -nopartial ]
          [file.hs]</pre>
@@ -72,8 +74,9 @@
 <p>
 You can colourise a Haskell source file for either ANSI terminal codes
 (option -tty), or HTML 3.2 with font tags (option -html), or HTML 4.01
-output with CSS (option -css), or for LaTeX (option -latex), or for IRC
-(option -mirc).  The default is for terminal output.
+output with CSS (option -css), or for XHTML 1.0 with inline CSS styling
+(option -icss), or for LaTeX (option -latex), or for IRC (option -mirc).
+The default is for terminal output.
 <p>
 If no file argument is given, it reads standard input.  Output is
 written to file OUTPUT (option -o), defaulting to stdout.
@@ -100,11 +103,11 @@
 
 <h2>Configuration of colours</h2>
 <p>
-If you use either -html, -tty, -mirc, or -latex, you can configure the
+If you use any of -html, -tty, -icss, -mirc, or -latex, you can configure the
 colours for different lexical entities by editing a configuration file
 called <tt>.hscolour</tt> in the current directory.
 (An <a href=".hscolour">example</a> is included in the distribution.)
-For CSS output, it is sufficient to edit the
+For (non-inline) CSS output, it is sufficient to edit the
 <a href="hscolour.css"><tt>hscolour.css</tt></a> file, also in the
 distribution.  (An alternative choice is supplied as
 <a href="emacs.css"><tt>emacs.css</tt></a>.) The <tt>-print-css</tt> option
@@ -134,6 +137,7 @@
     <font color=Red>|</font> Concealed
     <font color=Red>|</font> Foreground Colour
     <font color=Red>|</font> Background Colour
+    <font color=Red>|</font> Italic
 </pre>
 
 <p>
@@ -169,7 +173,7 @@
 
 <p>
 <h2>Copyright and licence</h2>
-<b>hscolour</b> is &copy; Malcolm Wallace 2003-2008.  It is distributed
+<b>hscolour</b> is &copy; Malcolm Wallace 2003-2009.  It is distributed
 under the Gnu GPL, which can be found in the file
 <a href="LICENCE-GPL">LICENCE-GPL</a>.
 
@@ -193,6 +197,7 @@
 <h2>History</h2>
 <p>
 <dl>
+<dt>1.13</dt><dd> added the new -icss output format, and italic highlights</dd>
 <dt>1.12</dt><dd> changed the CSS class names to avoid clashes with other
                   web tools</dd>
 <dt>1.11</dt><dd> new literate input option -lit-tex</dd>
@@ -214,7 +219,7 @@
 </dl>
 
 <p>
-This page last modified: 2nd Feb 2009<br>
+This page last modified: 6th May 2009<br>
 Malcolm Wallace<br>
 
 </td></tr></table>
