如何向 TikZ 流程图中的节点添加标题?

如何向 TikZ 流程图中的节点添加标题?

我想用这个基本设计在 LaTeX 中创建一个流程图:

在此处输入图片描述

我曾尝试过创建流程图来自 Overleaf 的教程,但我找不到如何将标题添加到框中。

我当前拥有的是以下代码:

\tikzstyle{box} = [rectangle, rounded corners, minimum width=5cm, minimum height=2cm,text centered, draw=black, fill=black!15]
\tikzstyle{arrow} = [very thick, ->, >=stealth]

\begin{tikzpicture}[node distance=4cm]
    \node (box1) [box] {text};
    \node (box2) [box, below of=box1] {more text};
    \draw [arrow] (box1) -- (box2);
\end{tikzpicture}

这将产生以下流程图:

在此处输入图片描述

现在我只想将标题添加到框中,如第一张图片所示。

答案1

这似乎是一个label这只是随后添加的另一个节点,与主节点相关。

根据您的使用情况,您可能需要使用更自动化的东西来自动选择是否<name>用于<name>-header箭头。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta, positioning}
\tikzset{
  box/.style = {
    rectangle, rounded corners, minimum width=5cm, minimum height=2cm,
    text centered, draw=gray, fill=black!15},
  arrow/.style={very thick, -Stealth},
  header/.style={
    label={[rectangle, fill=white, draw, anchor=center,
            minimum width=2cm, node font=\ttfamily,
            name=\tikzlastnode-header]north:{#1}}}}
\begin{document}
\begin{tikzpicture}[node distance=2cm]
\node (box1) [box, header = Title1]                {text};
\node (box2) [box, header = Title2, below=of box1] {more text};
\draw [arrow] (box1) -- (box2-header);
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容