diff -urN ChangeLog ChangeLog
--- ChangeLog	Thu Mar 31 01:13:41 2005
+++ ChangeLog	Thu Mar 31 02:05:41 2005
@@ -1,3 +1,8 @@
+2005-03-31  Erlend Aasland  <erlenda@gmail.com>
+
+	* scm/output-tex.scm: implement {re,}setcolor
+	* tex/lilyponddefs.tex: use color package
+
 2005-03-30  Jan Nieuwenhuizen  <janneke@gnu.org>
 
 	* scm/output-lib.scm (make-stencil-boxer): Junk code duplication,
diff -urN scm/output-tex.scm scm/output-tex.scm
--- scm/output-tex.scm	Thu Mar 31 01:13:49 2005
+++ scm/output-tex.scm	Thu Mar 31 02:00:14 2005
@@ -43,6 +43,8 @@
 	    round-filled-box
 	    text
 	    white-text
+	    setcolor
+	    resetcolor
 	    polygon
 	    draw-line
 	    no-origin
@@ -169,6 +171,19 @@
 
 (define (white-text scale s)
   (embedded-ps (list 'white-text scale s)))
+
+(define (setcolor r g b)
+  (string-append "\\color[rgb]{"
+  (number->string r) ", "
+  (number->string g) ", "
+  (number->string b) "}"))
+
+;; FIXME
+;; The PostScript backend saves the current color
+;; during setcolor and restores it during resetcolor.
+;; We don't do that here.
+(define (resetcolor)
+  (string-append "\\color[rgb]{0,0,0}"))
 
 (define (polygon points blotdiameter)
   (embedded-ps (list 'polygon `(quote ,points) blotdiameter)))
diff -urN tex/lilyponddefs.tex tex/lilyponddefs.tex
--- tex/lilyponddefs.tex	Sun Feb  6 23:39:38 2005
+++ tex/lilyponddefs.tex	Thu Mar 31 01:45:31 2005
@@ -203,6 +203,8 @@
        \fi
        \pagestyle{empty}
 
+       \usepackage{xcolor}
+
        \lilypondifundefined{lilypondclassic}
          {%% If not in `classic' mode, undo LaTeX's page layout settings
           %% since LilyPond does the layout by itself.
