我希望用pgfkeys
构造一个绘图命令:\mydraw
,为了简化问题,它只带一个键值对:color = <line color>
, 但我希望它还允许其他的 "\draw
的参数" (键值对)加入。以下是它的定义过程:
总觉得上面的实现是为了用pgfkeys
而用,而从整体思路来看有些许绕...
我个人觉得更直接的方式是:
\documentclass[tikz,border=5pt]{standalone}
\tikzset{
mycmd/.style={
color=black,#1
}
}
\newcommand{\mydraw}[1][]{%
\draw[mycmd={#1}] (0,0) -- (2,0);
}
\begin{document}
\begin{tikzpicture}
\mydraw[color=blue, line width=1mm]
\begin{scope}[yshift=-0.5cm]
\mydraw[line width=2pt, ->, rounded corners, magenta]
\end{scope}
\begin{scope}[yshift=-1cm]
\mydraw[<-latex,semithick]
\end{scope}
\end{tikzpicture}
\end{document}
或者展开\tikzset
的定义:
\documentclass[tikz,border=5pt]{standalone}
\pgfkeys{
tikz/.cd,
mycmd/.style={
color=black,#1
}
}
\newcommand{\mydraw}[1][]{%
\draw[mycmd={#1}] (0,0) -- (2,0);
}
\begin{document}
\begin{tikzpicture}
\mydraw[color=blue, line width=1mm]
\begin{scope}[yshift=-0.5cm]
\mydraw[line width=2pt, ->, rounded corners, magenta]
\end{scope}
\begin{scope}[yshift=-1cm]
\mydraw[<-latex,semithick]
\end{scope}
\end{tikzpicture}
\end{document}
问 使用 pgfkeys 构造命令,在可选参数中附加参数 (代码)