如何创建 tikz `\node` 命令并保留从外部对其属性的访问?

如何创建 tikz `\node` 命令并保留从外部对其属性的访问?

我正在尝试为 tikz 中的特定节点布局创建 latex 命令:

\begin{tikzpicture}
    \node (anode) [lestyle, rectangle split, rectangle split parts=2]
    {
        \textbf{node A}
        \nodepart{second}description of A
    };
    \node (bnode) [lestyle, rectangle split, rectangle split parts=2, below=of anode]
    {
        \textbf{node B}
        \nodepart{second}description of B
    };
\end{tikzpicture}

节点内部的布局将更加复杂,我将拥有许多类似的节点。因此,我希望它将通用布局放在自定义函数内。但是,我希望允许从命令外部添加属性,因为节点在更多属性上会有所不同below

我已经为节点创建了自定义 LaTex 命令。

\newcommand{\nodele}[2]{
    \node (mynodele) [lestyle, rectangle split, rectangle split parts=2]
    {
        \textbf{#1}
        \nodepart{second}#2
    }
}

和图片:

\begin{tikzpicture}
    \nodele{node A}{description of A};
    \nodele{node B}{description of B};
\end{tikzpicture}

问题是:我无法(name)像第一个示例中那样设置它们的名称。此外,无法向节点添加自定义属性(任何属性,不仅仅是下面的属性)。

答案1

显而易见的选择是为选项进行另一个输入

%    \usetikzlibrary{shapes,positioning}

\def\nodele[#1]#2#3{
    \node[rectangle split, rectangle split parts=2,#1]
    {
        \textbf{#2}
        \nodepart{second}#3
    }
}

\begin{tikzpicture}
    \nodele[red,at={(3,1)},name=a]{node A}{description of A};
    \nodele[blue,below=of a]{node B}{description of B};
\end{tikzpicture}

在此处输入图片描述

相关内容