调整tikz和框中的节点大小以可视化三个级别的子集

问题描述 投票:0回答:1

im试图重叠多个节点以可视化子集的三个级别,并为每个子集包含一些文本。有没有一种方法可以强制配合命令增加填充?还是手动调整每个框的尺寸更有效?感谢您的支持。

\documentclass[a4paper, 12pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning, fit, calc}
\begin{document}
    \begin{tikzpicture}
    [every node/.style={align=center, inner xsep=6mm, inner ysep=3mm, rounded corners}, very thick]
    \node (inner1) [draw] {text text text text text text text text};
    \node (outer) [fit=(inner1)] {};
    \coordinate (o) at ($(inner1.north)!1!(inner1.south)$);
    \draw [blue, rounded corners] (outer.north west) rectangle (outer.east |- o) node [above=5mm of inner1, anchor=center] {text text text text text text text text};
    \node (doubleouter) [fit=(outer)(inner1)] {};
    \draw [red, rounded corners] (doubleouter.north west) rectangle (doubleouter.north east |- o) node [above=15mm of inner1, anchor=center] {text text text text text text text text};

    \end{tikzpicture}
\end{document} 

enter image description here

latex nodes tikz
1个回答
0
投票

由于您希望实现不对称的节点间分隔(下部为0,上部为xmm),因此无法直接实现。您需要计算节点坐标或使用多个节点。

这里是具有多个节点的解决方案。

Box节点对应于Box。它们具有一个0pt的内部ysep,以使它们可以简单地包含在内而无需增加额外的垂直间距。它们虽然内部有隔片,但尺寸不断增大。

文本节点内部有y分隔,以正确显示文本。

由于要使用配件库,因此您必须先绘制文本,然后绘制框,将文本和上一个框括起来。

\documentclass[a4paper, 12pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning, fit, calc}
\begin{document}
    \begin{tikzpicture}
      [
      box/.style={inner xsep=6mm, inner ysep=0, draw=#1, rounded corners, very thick},
      txt/.style={align=center, inner xsep=0mm, inner ysep=3mm},
      ]

    \node[txt] (inner1 txt)  {text text text text text text text text};
    \node[box=black,fit=(inner1 txt)] (inner1) (inner1 box) {} ;

    \node[txt, above=0 of inner1 box] (inner2 txt) {\ldots}  ;
    \node[box=blue,fit={(inner1 box) (inner2 txt)}] (inner2 box) {} ;

    \node[txt, above=0 of inner2 box] (inner3 txt) {text text text text text text text text}  ;
    \node[box=red,fit={(inner2 box) (inner3 txt)}] (inner3 box) {} ;

\end{tikzpicture}
\end{document}

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.