Say you have some code like this:
\documentclass{standalone}
\usepackage{tikz}
% \PassOptionsToPackage{monochrome}{xcolor}
\begin{document}
\begin{tikzpicture}
% \selectcolormodel{gray}
\node[fill=red] at (0,1) {text};
\node[fill=green] at (0,0.5) {text};
\node[fill=blue] at (0,0){text};
\node[fill=yellow] at (1,1) {text};
\node[fill=violet] at (1,0.5) {text};
\node[fill=orange] at (1,0) {text};
\end{tikzpicture}
\end{document}

And you want to turn the resulting picture in grayscale colors. Is there a way to do this in LaTeX without using external tools (convert, imagemagick, etc.) and, of course, without having to manually change all the color values?
I already tried with the methods from how to create PDF in grayscale mode or TikZ figure only? and Monochrome in Tikz (see the commented code) but they both do not seem to work when the color is specified as a node option.
It would be also nice to know why the \selectcolormodel{gray} method does not work in this context.

\PassOptionsToPackage{gray}{xcolor}works when put before loading TikZ. – Qrrbrbirlbel May 03 '13 at 22:21monochromein every possible position and didn't think aboutgray! I'll accept your answer if you'll make one, but maybe this may now be considered a duplicate? – d-cmst May 03 '13 at 22:35\node[fill=<color>]won’t work,\node[<color>, draw=none, fill, text=black]does. (<color>is internally passed to TikZ keycolor). I guess TikZ uses on some point his own color definition by-passingxcolor. – Qrrbrbirlbel May 03 '13 at 22:53