在 TikZ 中连接形状

在 TikZ 中连接形状

我想在 TikZ 中连接两个形状,如下例所示。如您所见,我使用箭头和矩形来创建带有“两个输入”的箭头。我没有找到一种使用预定义形状在 LaTeX 中实现此目的的简单方法,有吗?下图中的黑色只是为了可视化,我想要白色填充和黑色轮廓。

我正在寻找类似以下伪代码的东西:

\node (a) [arrow, draw] at (0,0);
\node (r) [rectangle, draw] at (0,0);
\join {a,r};

在此处输入图片描述

答案1

这是一种手动方法,可以找到两个节点的路径之间的交点,然后通过删除重叠部分再次绘制轮廓。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{intersections, shapes.arrows, spath3}
\begin{document}
\begin{tikzpicture}
\node [rectangle,    minimum height=1cm,   above] [spath/save global=rect] (a)  {};
\node [single arrow, minimum height=1.5cm]        [spath/save global=arro] (r)  {};
\tikzset{spath/.cd,
  split at intersections={rect}{arro},
  remove components={rect}{2},
  remove components={arro}{1},
}
\draw[thick, spath/.cd, use=rect, use={arro, weld}, adjust and close=current];
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容