On Mon, Mar 3, 2008 at 6:15 AM, Aditya Mahajan wrote:
On Sun, 2 Mar 2008, Finn Martensen wrote:
2008/3/2, Aditya Mahajan
: I have the following problem with TikZ: When I use the "patterns" library in a tikzpicture environment, the file is compiled without problems and creates a PDF file. However, Acrobat displays an error message "Could not find the ColorSpace named 'pgfprgb'". [...]
Can you please post a minimal example? I have compiled a few examples from the tikz manual by using all tikz librarries, but never had this problem.
It just discovered that it depends, e.g., on whether there is only one page with a tikzpicture or more pages with tikzpictures. To give code examples: the first works, but not the second
************************************** Code with no problems: ************************************** \usemodule[tikz] \usetikzlibrary[patterns] \starttext \starttikzpicture \fill[pattern=dots] (0,0) -- (0,1) -- (1,1) -- (1,0); \stoptikzpicture \stoptext
************************************** Code with problems: ************************************** \usemodule[tikz] \usetikzlibrary[patterns] \starttext \starttikzpicture \draw (0,0) -- (1,0); \stoptikzpicture \page \starttikzpicture \fill[pattern=dots] (0,0) -- (0,1) -- (1,1) -- (1,0); \stoptikzpicture \stoptext
I can reproduce this problem. On linux, with evince pdf viewer (2.21.91) I get "Error: Bad color space 'pgfprgb'", with Adobe reader (8.1.2) "Wrong operand type".
The example does work fine with plain TeX and LaTeX. Something wrong in the way patterns are handled by tikz for context. I do not think that anyone on this list understands the internals of TikZ. Your best bet is to report this to the tikz-mailing list.
Till Tantau has already replied (privately):
I tracked down this problem. It turns out that ConTeXt does, well, radical things with the page resources (it simply resets them after each page, which is why a pattern cannot be used on any page other than the page on which it is defined). I'll try to fix this later, although ConTeXt could be a bit less aggressive, here...
--------
I fixed this in the CVS. You will have to check it out to use the patch.
The main problem is that pgf and context both fight over who can set page resources. As there is no clean way to do this, both pgf and context have their own systems.
Actually, context's system is a bit cleaner, but we also have to support latex and plain tex.
Anyway, I put in some patches that should solve the problem under normal circumstances. If you use ConTeXt commands that also mess around with extended graphic states, some further changes would presumably be necessary, but I'm not sure.
So ... feel free to test it (should I set up automatic updates of tikz from cvs for the minimals?). Mojca