答案1
制定自己的解决方案的另一个起点。为了理解代码,我建议你阅读 TikZ 手册,章节:“TikZ ist kein Zeichenprogram”。
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{arrows.meta, positioning}
\begin{document}
\begin{tikzpicture}[
node distance = 12mm,
box/.style = {draw, rounded corners, minimum width=22mm, minimum height=9mm,
inner sep=2mm},
arr/.style = {draw=gray, ultra thick,-{Triangle[fill=gray]},
shorten < = 2mm, shorten > = 2mm}
]
\node (n1) [box] {Text 1};
\node (n2) [box,right=of n1] {Text 2};
\node (n3) [box,below=of n1] {Text 3};
\node (n4) [box,below=of n2] {Text 4};
%
\draw[arr] (n1) edge (n2) (n1) edge (n3) (n2) edge (n4) (n3) edge (n4);
\end{tikzpicture}
\end{document}
答案2
有一些如何相对定位节点的答案。我会选择这种方式。
由于我不允许评论,因此我添加了一个带有一些示例代码的答案。
基本思想是从一个随机位置的节点开始,给它一个标签(1)并根据此节点定位所有其他节点。我还使用样式来定义大小和尺寸。
因为我不知道该解释多少,如果有不清楚的地方,请询问。
\documentclass[tikz, border=2pt]{standalone}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[
block/.style = {%
rectangle,
minimum width = 2cm,
minimum height = 1cm,
node distance = 3cm,
draw = black,
}
]
% nodes
\node[block] (1) at (0,0) {Text 1};
\node[block, right of = 1] (2) {Text 2};
\node[block, below of = 2, yshift = 1cm] (4) {Text 4};
\node[block, below of = 1, yshift = 1cm] (3) {Text 3};
% lines
\draw[->] (1) -- (2);
\draw[->] (2) -- (4);
\draw[->] (3) -- (4);
\draw[->] (1) -- (3);
\end{tikzpicture}
\end{document}