使用自己的风格,改变“below = of”的行为

使用自己的风格,改变“below = of”的行为

在绘制程序流程图时,我遇到了有关“低于 =”/“低于 =”行为的问题。我想将两个节点放置在彼此下方,边缘到边缘的距离固定。

我正在使用 tikzlibrary“定位”来执行此操作,但如果我使用自己的风格,结果就会改变。

最小示例:

\documentclass[border=1in]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,shapes,positioning}
\begin{document}

     \tikzset{
         pap/.style={
             draw,
            minimum height=7mm,
            font=\ttfamily\footnotesize,
            align=flush center,
            on grid
        },
    }
\begin{tikzpicture}
  \node (a) {A};
  \node [pap,below = of a] {C};
  \node [pap,below of = a] {D};
  \node [right of = a] (a2) {A2};
  \node [below = of a2] {C2};
  \node [below of = a2] {D2};
\end{tikzpicture}
\end{document}

结果是: 在此处输入图片描述

我希望左侧与右侧相同。

抱歉我的英语不好,如果能得到帮助我将非常感激。谨致问候,Jannis

答案1

on grid强制定位到网格上。如果你想要精确指定节点的位置,这不是你想要的。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\tikzset{
  pap/.style={
    draw,
    minimum height=7mm,
    font=\ttfamily\footnotesize,
    align=flush center,
  },
}
\begin{tikzpicture}
  \node (a) {A};
  \node [pap,below = of a] {C};
  \node [pap,below of = a] {D};
  \node [right of = a] (a2) {A2};
  \node [below = of a2] {C2};
  \node [below of = a2] {D2};
\end{tikzpicture}
\end{document}

不在网格上

相关内容