锚定在 tikz 节点最后一行的基线处

锚定在 tikz 节点最后一行的基线处

我想放置一个包含多行文本的节点,使用最后一行基线的最东点作为锚点,而无需手动换行。指定节点文本宽度会中断此操作。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (10,0);
\foreach \x in {1, 4, 7}
  \draw (\x,-1) -- (\x,1);
\node[anchor=base east, 
      align=right, 
      ] at (1,0) {some text some\\text some text};
\node[anchor=base east, 
      align=right, 
      text width=3cm
      ] at (4,0) {some text some text some text};
\node[anchor=base east, 
      align=right, 
      text width=3cm
      ] at (7,0) {some text some\\text some text};
\end{tikzpicture}
\end{document}

在此处输入图片描述

我希望第二种方法能实现我想要的效果。还有其他方法可以实现吗?这是 bug 吗?

答案1

您可以在节点内使用 parbox。然后您可以设置其基线:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (10,0);
\foreach \x in {1, 4, 7}
  \draw (\x,-1) -- (\x,1);
\node[anchor=base east,
      align=right,
      ] at (1,0) {some text some\\text some text};
\node[anchor=base east,
      align=right,
      draw=red,inner sep=0pt
      ]  at (4,0) {\parbox[b]{3cm}{some text some text some text}};
\node[anchor=base east,
      align=right,
      text width=3cm,
      ] at (7,0) {some text some\\text some text};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容