处理 tikz 图的关键参数中的值列表

处理 tikz 图的关键参数中的值列表

我想将两个值的列表作为关键参数传递,并能够在自己定义的命令中任意访问和使用它们。

例如,我想要一个使用以下语法绘制圆弧的命令

\MyCircle[angles={0,45},radius=1]{(2,2)}

为了得到以 (2,2) 为中心、起始角 0°、终止角 45° 和半径 1 的圆弧图,即

\draw (2,2) arc(0:45:1) ;

我如何拆分角度列表以访问其单个值并在命令中任意使用它们?我在处理单个键值参数时没有任何困难。我目前正在使用 keycommand 包,但 pgfkey 包也可以。

答案1

如果您必须使用解析器设置现有的 TikZ 键,那么您可以使用style args。如果您需要执行自定义代码,那么您也可以使用code args并从那里继续。

对于具体的例子,一种可能的方法是:

\tikzset{angles/.style args={#1,#2}{start angle=#1, end angle=#2}}
\def\MyCircle[#1]#2{\draw #2 arc [#1];}

\begin{tikzpicture}
\MyCircle[angles={0,45},radius=1]{(2,2)}
\end{tikzpicture}

相关内容