我正在 TikZ 中创建图片。
现在,我有某个 C 组件,它由 4 个节点组成( (a), (b), (c), (d) )。
我想要创建这个组件的 5 个副本,将它们命名为 (A, B, C, D, E)。
然后,我希望能够在组件节点之间画线。即:
绘制(Aa)(Bc);等等……
我的问题:如何在 Tikz 中创建“组件”或“分组”?
答案1
我认为,只要对节点进行相应的命名,就可以实现您想要的效果,尽管您不能在节点名称中使用点。您能否A_b
至少在内部使用下划线代替点?如果是,那么您可以这样做:
\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\foreach \nodegroup/\x in {A/1,B/2,C/3,D/4}
{ \foreach \groupelement/\y in {a/1,b/2,c/3,d/4}
{ \pgfmathsetmacro{\positionhelper}{(\x*4+\y)*22.5}
\node[draw,circle] (\nodegroup_\groupelement) at (\positionhelper:5) {\nodegroup.\groupelement};
}
}
\draw[bend left=30,-latex] (A_a) edge (B_b);
\draw[bend left=30,-latex] (A_d) edge (C_a);
\draw[bend left=30,-latex] (C_c) edge (D_d);
\draw[bend right=90,latex-] (C_c) edge (D_d);
\end{tikzpicture}
\end{document}