在 tikz 中,我多次绘制基本相同的图形,但节点上的文字不同。因此,我想参考节点上文字的边界框坐标来构建我的图片,以便所有这些图形看起来“相同”。
我想要的最小示例:
\begin{tikzpicture}
\node[left] (x) at (0, 0) {[text A]};
\node[right] (y) at (2, 0) {[text B]};
\draw[->] ($([right side of text A], 0) + (0.1, 0.1)$) -- ($([left side of text B], 0) + (-0.1, 0.1)$);
\end{tikzpicture}
该站点上已经有一些关于边界框坐标的问题,但我找不到能够应用于我的问题的内容。
任何帮助都将不胜感激!
答案1
答案2
正确的语法是
\node[right=2cm of x] (y) {text B};
此外,您的箭头未正确对齐节点的中心x
,y
您需要使用如下所示的正确语法
\draw[->, >=stealth] (x) to (y);
>=stealth
箭头的类型是什么
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc, positioning}
\begin{document}
\begin{tikzpicture}
\node[] (x) at (0, 0) {text A};
\node[right=2cm of x] (y) {text B};
\draw[->, >=stealth] (x) to (y);
\end{tikzpicture}
\end{document}
答案3
以下是另外两种可能的方式:([shift={(-0.1,0.1)}] y.west)
和([xshift=-0.1cm, yshift=0.1cm] y.west)
。请注意,在后一种样式中,默认单位是pt
,因此([xshift=-0.1, yshift=0.1] y.west)
是不是相当于,([shift={(-0.1,0.1)}] y.west)
除非您选择非常特殊的x
和y
向量(当使用时([shift={(-0.1,0.1)}] y.west)
,-0.1
乘以坐标系x
的向量,和乘以所述坐标系的向量;这些向量可以用和选项进行修改,通常在环境的可选参数中传递)。xyz
0.1
y
x=...
y=...
tikzpicture
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[left] (x) at (0, 0) {text A};
\node[right] (y) at (2, 0) {text B};
\draw[->] ([shift={(0.1,0.1)}] x.east) --
([xshift=-0.1cm, yshift=0.1cm] y.west);
\end{tikzpicture}
\end{document}