如何在 tikz 样式中使用命令

如何在 tikz 样式中使用命令

我希望在 tikz 绘制命令的样式部分中使用一个命令,这样我就可以轻松地参数化我正在创建的绘图包中节点的相对定位。

在示例中:

\usepackage{tikz}

\begin{document}
\end{document}

\newcommand{\XX}{above left = of a}

\begin{tikzpicture}
    \node [circle,draw] (a) {};
    \node [circle, draw, {\XX}] () {};
\end{tikzpicture}

我收到错误:

软件包 pgfkeys 错误:我不知道键 '/tikz/above left = of a',我将忽略它。也许你拼错了。\node [circle, draw, {\XX}]

如何在 tikz 命令的样式部分中使用命令?

答案1

欢迎!您可以使用钥匙style/.expanded来访问。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}

\newcommand{\XX}{above left = of a}

\begin{tikzpicture}
    \node [circle,draw] (a) {a};
    \node [circle, draw, style/.expanded=\XX] (b) {b};
\end{tikzpicture}
\end{document}

在此处输入图片描述

当然,钛实现此目的的最佳方式不是使用宏而是使用样式。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}


\begin{tikzpicture}[XX/.style={above left = of a}]
    \node [circle,draw] (a) {a};
    \node [circle, draw, XX] (b) {b};
\end{tikzpicture}
\end{document}

相关内容