我正在尝试对齐标签A和b在下面X轴与基线对齐。图片左侧的对齐方式是错误的。右侧的对齐方式是正确的,但是有没有更简单的方法来实现这一点(即,无需通过below=
反复试验找到值)?
左手边:
\begin{tikzpicture}[scale=0.65]%
\draw [<->] (7,0) node[below left]{$x$} -- (0,0) -- (0,7);
\draw [thick] (0,0) -- (6.5,6.5);%
\node [below] at (2,0) {$a$};%
\node [below] at (5,0) {$b$};%
\end{tikzpicture}%
右侧:
\begin{tikzpicture}[scale=0.65]%
\draw [<->] (7,0) node[below left]{$x$} -- (0,0) -- (0,7);
\draw [thick] (0,0) -- (6.5,6.5);%
\node [below=2.735] at (2,0) {$a$};%
\node [below] at (5,0) {$b$};%
\end{tikzpicture}%
答案1
\vphantom{b}
一种方法是在节点中添加a
。这会插入高度为的零宽度规则b
,因此基本上使节点的高度a
与节点相同b
。
另一个选项是将节点放置在相对于节点底部的位置b
。首先为b
节点指定一个名称/标签 ( \node [below] (b) at (5,0) {$b$};
),然后使用 放置第二个节点\node [above] at (b.south -| 2,0) {$a$};
。
第三种选择是将 设置text height
为 的高度$b$
。您可以通过宏获取高度和宽度\heightof
,因此将 设置为text height=\heightof{$b$}
。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[scale=0.65]%
\draw [<->] (7,0) node[below left]{$x$} -- (0,0) -- (0,7);
\draw [thick] (0,0) -- (6.5,6.5);
\node [below] at (2,0) {$a\vphantom{b}$};
\node [above] at (b.south -| 3,0) {$a$};
\node [below] at (5,0) {$b$};
\node [below,text height=\heightof{$b$}] at (4,0) {$a$};
\end{tikzpicture}
\end{document}