使用 TikZ 的框图

使用 TikZ 的框图

我正在尝试使用 TikZ 绘制以下框图...没办法:( 有人能帮帮我吗?在此处输入图片描述

太感谢了!!!

答案1

尝试去理解这一点。这只是一种可能性。

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning,arrows.meta}

\begin{document}
\begin{tikzpicture}[block1/.style={draw, minimum width=3cm, minimum height=1.8cm},
                    block2/.style={draw, minimum width=1cm, minimum height=.8cm},
                    >=Stealth]
\node[block1,label=above:lol] (b1) {lol};
\node[block1, right=5cm of b1] (b2) {lol2};
\path ([yshift=-3mm]b1.center)--([yshift=-3mm]b2.center) node [midway,block2] (b3) {lol3};
\draw[->] ([yshift=3mm]b1.east)--node[above] {c} ([yshift=3mm]b2.west);
\draw[->] ([yshift=-3mm]b1.east)--node[below] {a} (b3.west);
\draw[<-] ([yshift=-3mm]b2.west)--node[below] {b} (b3.east);
\draw[->] (b2.east)--++(0:1cm) node[right] {thanks!};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

只是为了好玩,使用 Plain TeX:

\obeylines\obeyspaces\let =\ \tt\catcode`\_=11
   lol
_________                c               ____________
|        |---------------------------->|            |
|  lol   |             ______          |   lol2     |----> thanks!
|        |-----------> | lol3|-------->|            |
|________|             |_____|         |____________|
              a                   b
\bye

或者,使用eplain的逐字功能:

\input eplain

\verbatim|
   lol
_________                c               ____________
|        |---------------------------->|            |
|  lol   |             ______          |   lol2     |----> thanks!
|        |-----------> | lol3|-------->|            |
|________|             |_____|         |____________|
              a                   b
|endverbatim
\bye

两者都给出了所要求的结果:

在此处输入图片描述

下划线字符之间的空格是所用字体的结果(此处为cmtt)。

相关内容