[Tex/LaTex] Colors in xcolor and color models

colortikz-pgf

I did an experiment on the different color models available in xcolor together with the predefined colors. I observe that the colors vary alot depending on the color model. WHY?

  • Why does the colors vary so much depending on the color model for the
    predefined colors?
  • How are the default values chosen? To they follow a specific color model?
  • What color model should I choose?
  • Why is Cyan in cmyk blue?
  • Which color model is best for printing?

In the code example below the default colors are displayed in the second column.

\documentclass{standalone}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}

\begin{document}
    \huge
    \begin{tikzpicture}
        % \selectcolormodel{default}
        \node at (0,0){
            \begin{tikzpicture}
                \input{colordata}
                \node at (7.5,1.5) {\textbf{default}};
            \end{tikzpicture}  
        };
        \selectcolormodel{cmyk}
        \node at (15,0.035){
            \begin{tikzpicture}
                \input{colordata}
                \node at (7.5,1.5) {\textbf{cmyk}};
            \end{tikzpicture}  
        };
        \selectcolormodel{cmy}
        \node at (30,-0.01){
            \begin{tikzpicture}
                \input{colordata}
                \node at (7.5,1.5) {\textbf{cmy}};
            \end{tikzpicture}  
        };
        \selectcolormodel{rgb}
        \node at (-15,0.035){
            \begin{tikzpicture}
                \input{colordata}
                \node at (7.5,1.5) {\textbf{rgb}};
            \end{tikzpicture}  
        };
    \end{tikzpicture}
\end{document}

% first part of colordata.tex
 % \filldraw[color = red] (0,-0) rectangle (15,-0+1); \node at (7.5,-0+0.5) {red };
 % \filldraw[color = green] (0,-1) rectangle (15,-1+1); \node at (7.5,-1+0.5) {green };
 % \filldraw[color = blue] (0,-2) rectangle (15,-2+1); \node at (7.5,-2+0.5) {blue };
 % \filldraw[color = cyan] (0,-3) rectangle (15,-3+1); \node at (7.5,-3+0.5) {cyan };
 % \filldraw[color = magenta] (0,-4) rectangle (15,-4+1); \node at (7.5,-4+0.5) {magenta };
 % \filldraw[color = yellow] (0,-5) rectangle (15,-5+1); \node at (7.5,-5+0.5) {yellow };
 % \filldraw[color = black] (0,-6) rectangle (15,-6+1); \node at (7.5,-6+0.5) {black };
 % \filldraw[color = white] (0,-7) rectangle (15,-7+1); \node at (7.5,-7+0.5) {white };
 % \filldraw[color = gray] (0,-8) rectangle (15,-8+1); \node at (7.5,-8+0.5) {gray };
 % \filldraw[color = white] (0,-9) rectangle (15,-9+1); \node at (7.5,-9+0.5) {white };
 % \filldraw[color = darkgray] (0,-10) rectangle (15,-10+1); \node at (7.5,-10+0.5) {darkgray };
 % \filldraw[color = lightgray] (0,-11) rectangle (15,-11+1); \node at (7.5,-11+0.5) {lightgray };
 % \filldraw[color = brown] (0,-12) rectangle (15,-12+1); \node at (7.5,-12+0.5) {brown };
 % \filldraw[color = lime] (0,-13) rectangle (15,-13+1); \node at (7.5,-13+0.5) {lime };
 % \filldraw[color = olive] (0,-14) rectangle (15,-14+1); \node at (7.5,-14+0.5) {olive };
 % \filldraw[color = orange] (0,-15) rectangle (15,-15+1); \node at (7.5,-15+0.5) {orange };
 % \filldraw[color = pink] (0,-16) rectangle (15,-16+1); \node at (7.5,-16+0.5) {pink };
 % \filldraw[color = purple] (0,-17) rectangle (15,-17+1); \node at (7.5,-17+0.5) {purple };
 % \filldraw[color = teal] (0,-18) rectangle (15,-18+1); \node at (7.5,-18+0.5) {teal };
 % \filldraw[color = violet] (0,-19) rectangle (15,-19+1); \node at (7.5,-19+0.5) {violet };
 % \filldraw[color = Apricot] (0,-20) rectangle (15,-20+1); \node at (7.5,-20+0.5) {Apricot };
 % \filldraw[color = Aquamarine] (0,-21) rectangle (15,-21+1); \node at (7.5,-21+0.5) {Aquamarine };

Best Answer

I did not intend to write a comprehensive analysis but give some hint to your subproblems.

Why does the colors vary so much depending on the color model for the predefined colors?

We all agree that by red we mean the reddest color in the current space. (Intuitively there must be something representing that color, either named red or reddest.) But the fact is that, even the phrase reddest is well-defined, the reddest color varies from space to space. Some color spacess, for instance the Lab-family, do not contain the reddest but in which the red could be as red as you wish.

How are the default values chosen? To they follow a specific color model?

Some color spaces are called absolute for their colors being unambiguous. For example when saying #FF0000 in AdobeRGB, I am indicating that red , a color stimulating people's optic nerves in that way.

For an absolute color space, colors are chosen by the agency developing that space. For a non-absolute color space you need to associate it to an absolute one, since then the colors are determined.

What color model should I choose?

Depends on what are you doing. Different models are developed for different purpose. The roughest list is

  • For screens: RGB
  • For printers: CMYK

Why is Cyan in CMYK blue?

Well it is blue as an adjective but not blue in RGB. cyan(CMYK) is a color that seems like between yellow(RGB) and blue(RGB). And cyan(RGB) is defined as #00FFFF(RGB)

Which color model is best for printing?

CMYK

Pantone

Nowadays computers/printers are smart enough to translate between color spaces. All you need to do is to choose a color from an space and declare the color-space pair.

The only problem is that your screen/printer may not be able to display/print the absolute color properly. This is a hardware issue and color models cannot help.

Related Question