t-tikz: problem with colorspace pgfprgb
Hi, 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'". So the patterns library seems to be a sufficient condition for this problem to occur. By contrast, the problem does not occur when I use pdflatex to create PDF from a LaTeX file with the same tikz-code. I have a standalone ConTeXt distribution and tikz 2.00, but I already had this problem with tikz 1.18. Any suggestions? Thanks, Finn Martensen
Hi Finn, On Sun, 2 Mar 2008, Finn Martensen wrote:
Hi,
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'". So the patterns library seems to be a sufficient condition for this problem to occur. By contrast, the problem does not occur when I use pdflatex to create PDF from a LaTeX file with the same tikz-code.
I have a standalone ConTeXt distribution and tikz 2.00, but I already had this problem with tikz 1.18.
Any suggestions?
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. Aditya
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
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. Aditya
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
On Mon, 3 Mar 2008, Mojca Miklavec wrote:
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.
Works well the minimal example that Finn posted.
So ... feel free to test it (should I set up automatic updates of tikz from cvs for the minimals?).
That will be nice. Actually, what do you mirror at the minimals, the current context stable or the current beta? Aditya
So ... feel free to test it (should I set up automatic updates of tikz from cvs for the minimals?).
That will be nice. Actually, what do you mirror at the minimals, the current context stable or the current beta?
Both. One can choose current, beta or "any" verison (by date - but not a complete archive is there). However, the scripts (mtxrun, texmfstart) are from current, in the best hope that the versions do not differ too much. There is also an experimental branch, but it does not really work at the moment. (I have no idea how to get the latest luatex binaries and don't see many other reasons at the moment, but if I get some idea, I will implement it.) Mojca
On Mon, 3 Mar 2008, Mojca Miklavec wrote:
So ... feel free to test it (should I set up automatic updates of tikz from cvs for the minimals?).
That will be nice. Actually, what do you mirror at the minimals, the current context stable or the current beta?
Both. One can choose current, beta or "any" verison (by date - but not a complete archive is there). However, the scripts (mtxrun, texmfstart) are from current, in the best hope that the versions do not differ too much.
Then tikz should go to the current branch. TikZ CVS updates are usually more stable than context beta, so hopefully they will not break anything someone is using in production. Aditya
Hi Mojca, I would welcome such a feature! Willi On Mar 3, 2008, at 3:25 PM, Mojca Miklavec wrote:
So ... feel free to test it (should I set up automatic updates of tikz from cvs for the minimals?).
BOEDE Book and Electronic Document Engineering Willi Egger w.egger@boede.nl KvK 17138708
participants (4)
-
Aditya Mahajan
-
Finn Martensen
-
Mojca Miklavec
-
Willi Egger