首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >胶乳/TikZ-盒对齐

胶乳/TikZ-盒对齐
EN

Stack Overflow用户
提问于 2018-01-09 19:36:22
回答 1查看 6.5K关注 0票数 1

我创建了下面的LaTeX/TikZ脚本来绘制一个图形:

代码语言:javascript
复制
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{arrows, chains}
\usetikzlibrary{positioning,shapes.multipart}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \node[draw, fill=yellow!96!black, rectangle, 
      align=center, inner sep=3ex, font=\sffamily, label=below: Label1] (Box1) {
      \begin{tikzpicture}
        \node[draw, shape=rectangle split, rectangle split parts=2,
          inner sep=1ex, rounded corners=0pt,
          fill=white, font=\vphantom{Q}\sffamily] (Innerbox) {One \nodepart{two} Two};
    \end{tikzpicture}};
    \node[draw, inner sep=1ex, right=of Box1, label=below: Label2] (Box2) {
    \begin{tikzpicture}
\end{tikzpicture}

{\begin{tikzpicture}
    \node[draw, fill=yellow!96!black, rectangle, 
      align=center, inner sep=3ex, font=\sffamily, label=below: Label3] (Box3) {Four};
\end{tikzpicture}}};

    \draw (Box1) -- (Box2) -- (Box3);
    \draw[dashed] (Innerbox.one east) -- (Box2);
    \draw[dashed] (Innerbox.two east) -- (Box2);

\end{tikzpicture}
\end{document}

我想解决以下问题:

  1. 为什么方框是相等的,所以下面的标签总是在相同的水平上?
  2. 如何将框“4”添加到Box2的右侧(不是在框内,而是作为像Box2这样的框),最好是用虚线从Box2添加到Box3? 理想结构: Box1 -- Box2 -- Box3
EN

回答 1

Stack Overflow用户

发布于 2018-01-27 12:34:19

我对这幅画的基本看法:

代码语言:javascript
复制
\documentclass[tikz,border=2mm]{standalone}

\begin{document}

\begin{tikzpicture}
% left box
\filldraw [fill=yellow, draw=black, ultra thick] (0,0) rectangle (8,-10);
\filldraw [fill=white, draw=black, ultra thick] (2,-2) rectangle (6,-5);
\filldraw [fill=white, draw=black, ultra thick] (2,-5) rectangle (6,-8);
\node at (4,-3.5) [font=\sffamily] {\Huge One};
\node at (4,-6.5) [font=\sffamily] {\Huge Two};
% right box
\filldraw [fill=white, draw=black, ultra thick] (12,0) rectangle (20,-10);
\filldraw [fill=yellow, draw=black, ultra thick] (13,-1) rectangle (19,-6);
\node at (16,-3.5) [font=\sffamily] {\Huge Four};
% labels
\node at (4,-11) {\Huge 1};
\node at (16,-11) {\Huge 2};
\node at (16,-7) {\Huge 3};
% lines
\draw [ultra thick] (8,-5) -- (12,-5);
\draw [loosely dashed, ultra thick] (6,-3.5) -- (12,-4);
\draw [loosely dashed, ultra thick] (6,-6.5) -- (12,-6);
\end{tikzpicture}

\end{document}

及其产出:

在这里,你可以玩坐标,以对齐框,你喜欢。

这试图回答你问题的第一部分,而第二部分对我来说并不十分清楚。无论如何,如果您喜欢这段代码,只需使用上面的\filldraw\draw\node,就可以开发它并编辑框\node

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48175489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档