使用 tikz 将绘图定义为边缘形状

使用 tikz 将绘图定义为边缘形状

我画了这个:

在此处输入图片描述

我的代码是:

\documentclass{article}
\usepackage{tikz}
\begin{tikzpicture}
    %1st rectangle
\draw (0,0) -- (0,5);
\draw (0,5) -- (6,5);
\draw (6,5) -- (6,0);
\draw (6,0) -- (0,0);
    %rectangle in 1st rectangle
\draw (1,3) -- (5,3);
\draw (5,3) -- (5,4);
\draw (5,4) -- (1,4);
\draw (1,4) -- (1,3);   
    %little square
\draw (2,3) -- (2,4);
\draw (3,3) -- (3,4);
\draw (4,3) -- (4,4);   
    %second rectangle
\draw (7,0) -- (7,5);
\draw (7,5) -- (13,5);
\draw (13,5) -- (13,0);
\draw (13,0) -- (7,0);
    %rectangle in 2nd rectangle
\draw (8,3) -- (12,3);
\draw (12,3) -- (12,4);
\draw (12,4) -- (8,4);
\draw (8,4) -- (8,3);   
    %little square
\draw (9,3) -- (9,4);
\draw (10,3) -- (10,4);
\draw (11,3) -- (11,4); 

\draw[thick,->](5,5) -- (8,5);
\end{tikzpicture}
\end{document}

我有很多问题,例如:

  1. 除了手动逐行绘制之外,还有什么更好的方法来实现“矩形”的绘制吗?
  2. 我的最终目标是构建一个包含 4 个矩形的方案,每个矩形都用箭头连接。有没有办法将矩形定义为形状并将其用作图形的节点?这样我就可以轻松链接每个矩形。
  3. 如果不是:我怎么能画出所有这些箭头?用正确的弯曲(不是像这个)而不是令人厌恶的风格,因为所有箭头都会向上。

答案1

这只是部分答案,因为我不确定我是否理解你的第三点。

  1. 您可以使用rectangle路径构造绘制矩形。
  2. 如果您想多次绘制同一件事,您可以使用pics它。

代码:

\documentclass{article}
\usepackage{tikz}
\tikzset{pics/.cd,
Kokodelo/.style={code={\begin{scope}[local bounding box=#1]
\draw (0,0) rectangle (6,5);
\draw (1,3) rectangle (5,4) foreach \X in {2,3,4} {(\X,3) -- (\X,4)};
\end{scope}
}}}
\begin{document}
\begin{tikzpicture}
\pic at (0,0) {Kokodelo=1};
\pic at (8,0) {Kokodelo=2};
\pic at (0,-8) {Kokodelo=3};
\pic at (8,-8) {Kokodelo=4};
\draw[thick,-latex] (1) to[bend left] (2);
\draw[thick,-latex] (3) to[bend right] (4);
\end{tikzpicture}
\end{document}

在此处输入图片描述

如上所述,我不确定如何解释您关于弯曲箭头的陈述,所以我只是添加了一些。

相关内容