如何在 TiKZ 中使两个矩形顶部水平调整?

如何在 TiKZ 中使两个矩形顶部水平调整?

我有 2 个矩形和它们之间的一个运算符,右边的矩形比左边的矩形长:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[rectangle, draw, text width={1cm},  minimum height={1cm}, text centered] (l) {l};
\node (op) [right=0.5cm of l] {$+$};
\node[rectangle, draw, text width={1cm},  minimum height={3cm}, text centered, right=0.5cm of op] (r) {r};
\end{tikzpicture}
\end{document}

上面的代码使两个矩形中心水平调整,有人知道怎么做吗顶部水平调整?

答案1

虽然不如马丁的回答那么好,但是还是有效。

首先将矩形节点与顶部对齐,然后绘制操作符:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\node[rectangle, draw, text width={1cm},  minimum height={1cm}, text centered] (l) {l};
\node[rectangle, draw, text width={1cm},  minimum height={3cm}, text centered, anchor=north west] (r) at ([xshift=1cm]l.north east) {r};
\path (l.east) -- (r.west|-l.east) node[midway] (op){$+$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

操作符的对齐在这里也很重要,因为您要将其与左侧部分对齐,然后将右侧部分与其对齐。

一种方法是使用below right零垂直值,然后使用north east锚点来获得一些顶部对齐:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[rectangle, draw, text width={1cm},  minimum height={1cm}, text centered] (l) {l};
\node (op) [below right=0cm and 0.5cm of l.north east] {$+$};
\node[rectangle, draw, text width={1cm},  minimum height={3cm}, text centered, below right=0cm and 0.5cm of op.north east] (r) {r};
\end{tikzpicture}
\end{document}

结果

然后,您可以通过改变垂直量来调整操作符的垂直位置,例如将 0cm 变为 0.25cm。然后必须否定右侧部分的垂直量。

例如:

\node (op) [below right=0.25cm and 0.5cm of l.north east] {$+$};
\node[rectangle, draw, text width={1cm},  minimum height={3cm}, text centered, below right=-0.25cm and 0.5cm of op.north east] (r) {r};

给出:

结果 2

相关内容