\documentclass{article}
%---------------------------------------------------------------%
\usepackage{tikz}
\usetikzlibrary{%
shapes.callouts,%
}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}[>=stealth,
remark/.style = {shape=rectangle callout, rounded corners=1pt,
draw=blue!50, thin, fill=blue!10,
inner sep=2pt, text width=11ex, align=center,
font=\footnotesize},
]\sffamily
\node[name=test,inner sep=2mm,draw] {TEST};
\node[remark,%
callout absolute pointer={(test.south)},%
below left=7mm] at (test.south) {explanation of the test};
\end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
compiling this example I receive error:
! Undefined control sequence.
\pgf@sh@bg@rectangle callout ...f@sh@np@\pgf@test
\noexpand \endcsname
}\ede...
l.27 ...at (test.south) {explanation of the test};
?
with hit of "enter" key latex generate picture almost as I expected (the
text in callout shape is not in center of shape, but this now is not
very important to me).
I test this with recent CVS of TikZ as well with TikZ 2.1. If I coment
line with callout pointer, then there is no error, but the picture is
wrong. This test work as expected about half year ago with this time CVS
version of the TikZ, so is it with last version of TikZ introduced some
bug or I doing something wrong?
Please, help me.
Regards, Zarko
Hi,
The example is not exactly minimal. I get the same with the following.
\documentclass{article}
%---------------------------------------------------------------%
\usepackage{tikz}
\usetikzlibrary{%
shapes.callouts,%
}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\node[rectangle callout,%
callout absolute pointer={(0,0)}] (0,0) {explanation of
the test};
\end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
As far as I can tell this should be ok. Removing the `callout absolute
pointer={(0,0)' solves the problem. Again, I don't see anything wrong
with it.
As a test, I tried to compile a document of mine which also uses
callouts. I get the same error as you. I recently compiled this
document with a CVS version of pgf and this was OK. However, since
then I installed the most recent pgf from CTAN.
It looks like a bug to me.
Regards,
Marc van Dongen
Hi,
I believe pgfmoduleshapes.code.tex was updated at the beginning of
September changing \pgf@test to \pgf@node@name. This change has not
been updated in the callout code. Changing \pgf@test to
\pgf@node@name *should* fix it.
Regards
Mark
Hi Mark,
> I believe pgfmoduleshapes.code.tex was updated at the beginning of
> September changing \pgf@test to \pgf@node@name. This change has not
> been updated in the callout code. Changing \pgf@test to
> \pgf@node@name *should* fix it.
I looked for \pgf@test in pgfmoduleshapes.code.tex but I couldn't find
it. However, there do seem to be some other files that depend on it:
$ find /usr/local/texlive/2010/texmf/base/tex/generic/pgf -name
\*.tex -exec grep -w -l pgf@test {} \;
/usr/local/texlive/2010/texmf/base/tex/generic/pgf/basiclayer/
pgfcorelayers.code.tex
/usr/local/texlive/2010/texmf/base/tex/generic/pgf/basiclayer/
pgfcorepathprocessing.code.tex
/usr/local/texlive/2010/texmf/base/tex/generic/pgf/frontendlayer/tikz/
libraries/graphs/tikzlibrarygraphs.code.tex
/usr/local/texlive/2010/texmf/base/tex/generic/pgf/libraries/shapes/
pgflibraryshapes.callouts.code.tex
/usr/local/texlive/2010/texmf/base/tex/generic/pgf/libraries/
decorations/pgflibrarydecorations.text.code.tex
Regards,
Marc van Dongen
Hi,
You won't find \pgf@test in pgfmoduleshapes.code.tex because at the
beginning of September
instances of \pgf@test in pgfmoduleshapes.code.tex were changed to
\pgf@node@name (which I think is what I said).
Changing the instances of \pgf@test in the callout code to
\pgf@node@name *should* fix the issue.
Regards
Mark
> You won't find \pgf@test in pgfmoduleshapes.code.tex because at the
> beginning of September
> instances of \pgf@test in pgfmoduleshapes.code.tex were changed to
> \pgf@node@name (which I think is what I said).
>
> Changing the instances of \pgf@test in the callout code to
> \pgf@node@name *should* fix the issue.
>
> Regards
>
> Mark
OK. I misread. Are these all the modules which I located with find?
Regards,
Marc van Dongen
Hi,
Just pgflibraryshapes.callouts.code.tex should need to be changed to
fix the OP's problem.
Changing the other files will result in disaster. Or at least a
multitude of errors.
Regards
mark
> Hi,
>
> Just pgflibraryshapes.callouts.code.tex should need to be changed to
> fix the OP's problem.
Hi Mark,
Thanks. That worked.
Regards,
Marc van Dongen
[...]
> Hi,
>
> I believe pgfmoduleshapes.code.tex was updated at the beginning of
> September changing \pgf@test to \pgf@node@name. This change has not
> been updated in the callout code. Changing \pgf@test to
> \pgf@node@name *should* fix it.
>
> Regards
>
> Mark
Dear Mark,
this solve my problem. Thank you very much!
Best regards, Zarko
Dear Marc van Dogen,
thank you for checking my problem and confirm my suspect, that there
should be a bug.
The example really is not minimal (well I didn't claim this), but I was
hoping that it is enough handy to see my problem. With Mark solution I
get all may pictures with call outs back! And the minor problem with
text centering also disappear.
Thank you very much again. Regards, Zarko
Changed in the cvs repo.
Thanks for the report and for the fix.
--
Christophe