我有 2 个高度不同的节点。它们相对于它们下面的节点 b1 和 b2 定位,这两个节点的高度和 y 值相同。
我希望 b1、b2 具有与 a1、a2 相同的水平距离,并且我希望它们垂直居中。
但是由于 a1、a2 的长度不同,我不能直接使用,right=of b1
因为 x 值不会与 a2 对齐。同样above=of a2
会导致错误的 y 值。
我希望我的右上节点同时具有right=of b1
和。above=of a2
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node [draw] (a1) {loooooooooong};
\node [draw, right=of a1] (a2) {short};
\node [draw, above=of a1] (b1) {$\begin{bmatrix}1\\2\\3\\4\end{bmatrix}$};
\node [draw, blue, above=of a2] (b2) {$\dots$};
\node [draw, green, right=of b1] (b3) {$\dots$};
\end{tikzpicture}
\end{document}
答案1
像这样?
一种可能性是:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node [draw] (a1) {loooooooooong};
\node [draw, right=of a1] (a2) {short};
\node [draw, above=of a1] (b1) {$\begin{bmatrix}1\\2\\3\\4\end{bmatrix}$};
\node [draw, blue, above=of a2] (b2) {$\dots$};
\node [draw, green, at=(b1 -| a2)] (b3) {$\dots$}; % <---
\end{tikzpicture}
\end{document}