我有 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};
给出: