On 8/8/23 20:57, Hans Hagen wrote:
On 8/8/2023 7:43 PM, Hans Hagen wrote:
On 8/8/2023 6:13 PM, Xavier B. wrote:
After some time, I could write a minimal example with tikz with strange error: Cannot parse this coordinate.
Can someone help me to find the bug?
I attach the file and the log.
Help very appreciate I run \starttikzpicture \foreach \p in {(6,2)} { \tracingall \startscope[shift={\p}] \draw[color=green!60, thick] (0,0) -- (1,1); \stopscope } \stoptikzpicture
looks like some parsing issue, are you sure that you can assign \p to shift this way? ok, i found it but i'm not going to make it custom to fix tikz
you need to use this:
\normalexpanded{\noexpand\startscope[shift={\p}]}
instead of
\startscope[shift={\p}]
this can be automated with (maybe we need a m-fixz module for that)
% fix
\appendtoks \let\normaltikzstartscope\startscope \def\startscope[#1]% {\normalexpanded {\noexpand\normaltikzstartscope[#1]}}% \to \everyinsidetikzpicture
% end of fix
but for that you need to use the attached module so that we hook it in aftert tikz sets itself up
the fix you can put in your style or in a cont-loc.mkxl in a local tree
This is likely going to break all kinds of stuff, because not everything in \startscope[...] can always be expanded. Also the brackets are optional in the original definition of \startscope, so a \dosingleempty would at least be in order: \appendtoks \let\normaltikzstartscope\startscope \def\dostartscope[#1]% {\normalexpanded {\noexpand\normaltikzstartscope[#1]}}% \def\startscope{\dosingleempty\dostartscope}% \to \everyinsidetikzpicture In fact, pgfkeys has a handler for expanding keys before doing assignment to work around exactly these situations: \startscope[shift/.expanded={\p}] No redefinition needed. We could also do \edef or \romannumeral expansion in the shift key in TikZ, but I'm not sure whether that would break someone's code. Cheers, Henri
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________