我画了这个:
我的代码是:
\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}
我有很多问题,例如:
- 除了手动逐行绘制之外,还有什么更好的方法来实现“矩形”的绘制吗?
- 我的最终目标是构建一个包含 4 个矩形的方案,每个矩形都用箭头连接。有没有办法将矩形定义为形状并将其用作图形的节点?这样我就可以轻松链接每个矩形。
- 如果不是:我怎么能画出所有这些箭头?用正确的弯曲(不是像这个)而不是令人厌恶的风格,因为所有箭头都会向上。
答案1
这只是部分答案,因为我不确定我是否理解你的第三点。
- 您可以使用
rectangle
路径构造绘制矩形。 - 如果您想多次绘制同一件事,您可以使用
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}
如上所述,我不确定如何解释您关于弯曲箭头的陈述,所以我只是添加了一些。