How to know if a pgfkey defined in some package is accessible by pgfkeysvalueof or by a .store macro, and how find this macro without digging the package code ? Or whatever other method to find the value of the key.
For example, the key line width is not reachable by \pgfkeysvalueof{/tilz/line width} that returns an empty string.
\pgfkeys{/tikz/line width/.show code} gives :
\pgfkeysshower=\long macro:
#1\pgfeov ->\tikz@semiaddlinewidth {#1}.
\pgfkeys@code ...keysshower }\show \pgfkeysshower
l.3 \pgfkeys{/tikz/line width/.show code}
How to interprete this ?
In the question But where is my scale pgfkeys? the use of \pgfkeys{/tikz/scale/.show code} gives :
> \pgfkeysshower=\long macro:
#1\pgfeov ->\tikz@addtransform {\pgftransformscale {#1}}.
\pgfkeys@code ...keysshower }\show \pgfkeysshower
but it is not \pgftransformscale {#1} that is used but :
\pgfgettransformentries\aa\ab\ba\bb\xhsift\yshift
How to guess that from \pgfkeys{/tikz/scale/.show code} result ?
I'd like a general approach to deal with existing pgfkeys.
scale=2where is this value ? Why the natural mecanism of pgfkeys doen't store this value some where (pgfkeysvalueof or some macro if defined) as one saysscale=2. If the person doesn't need to store it, how can I naturally retrieve the value I gave ? even for scale, it is not the real value because af xscale or yscale possible interference. How to find a lead to find it :\pgfgettransformentriesis not obvious... – Tarass Mar 09 '18 at 17:28pgfkeyscould 'automatically' save every key value, but it doesn't. So depending on how the key is implemented, there may be no simple way to recover the value. (We've had a similar discussion forl3keys, where I may well end up storing the key values in all cases.) – Joseph Wright Mar 09 '18 at 17:38/.store inis simply performing/.code={\def....{#1}}. So it is going to get confused with other/.codehandlers. Some of them don't even store anything but simply set things such as line width which is only required for PDF literals and postscript specials. And the value is directly passed to low levels – percusse Mar 09 '18 at 18:18