![强制在所有其他 pgfkey 之前执行 pgfkey](https://linux22.com/image/417672/%E5%BC%BA%E5%88%B6%E5%9C%A8%E6%89%80%E6%9C%89%E5%85%B6%E4%BB%96%20pgfkey%20%E4%B9%8B%E5%89%8D%E6%89%A7%E8%A1%8C%20pgfkey.png)
我正在执行 pgfkeys 列表
\pgfkeys{key1=val1, key2=val2, ...}
。key2
存储val2
到某个变量中\myval
,该变量在执行时使用key1
。这行不通,因为键的顺序错误。但是,键列表是由另一个命令组合在一起的,我不能简单地更改它们的顺序。
是否可以key2
这样定义,使其在列表中所有其他键之前执行?或者,是否可以key1
这样定义,使其“提前查看”存储的值key2
?
答案1
\documentclass[tikz, border=1cm]{standalone}
\tikzset{
first/.style={},
second/.style={},
exe/.style={first, second},
a/.style={first/.append style={test=#1}},
b/.style={second/.append style={test=#1}},
test/.store in=\test, test=0,
}
\begin{document}
\begin{tikzpicture}
\node at (0, 0) {\test};
\node[a=1, b=2, exe] at (1, 0) {\test};
\node[b=2, a=1, exe] at (2, 0) {\test};
\end{tikzpicture}
\end{document}