使用 Tikz 将文本对齐到水平轴下方

使用 Tikz 将文本对齐到水平轴下方

我正在尝试对齐标签Ab在下面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}

相关内容