# [Xy-pic] defining color (xypdf, xcolor)

Wed Nov 3 21:22:06 CET 2004

Hello,
I would like to create a macro to define a new xycolor from a color
defined by the very powerful package xcolor. I have tried the
following:

\def\extractcolorspecxy#1#2{\XC at split{#1}\aftergroupdef#2{\@@clr}}%
\def\@putawaycomma#1,#2,#3{#1 #2 #3}%
\def\createxycolorforcolor#1{%
\extractcolorspecxy{#1}{\@spec}%
\newxyColor{#1}{\expandafter\@putawaycomma\@spec}{rgb}{}\relax
}%

First line is a modification of a macro in the xcolor package. It
extracts the color specifications (I ALWAYS suppose the color to be in
the rgb model here), and put it in a macro. This macro expands to 3
numbers (r,g,b) separed by commas. I defined the macro in the second
line to put away the commas... The last definition, lines 3-5, creates
a color for xypic with a macro from the xycolor package.

What surprised me is that it works! When I write in my latex file
\colorlet{myred}[rgb]{red!50!white} % new color from the xcolor package
in the rgb model
\createxycolorforcolor{myred} % same color for use in xypic

then I can use "myred" to colorize arrows in my xymatrix (
\ar@[myred][d] ).
BUT, if I put a second definition in my latex file, with an other name
for my new color, the first color is replaced by the second one!
This I don't understand ! I can't define two colors with my definition.
Why???

I use pdflatex, and the package xypdf.

(Purpose of this: I use the package Beamer to create presentations with
pdflatex and I want the arrows in some diagrams to have the same color
as some nodes. I chose my color to fade away what is not the purpose of
my explanation, or on the contrary to reveal some parts of the diagram.
Very efficient!)