节点文本的垂直对齐

节点文本的垂直对齐

我有两个节点,上面有不同的数学公式。我想让它们对齐,就像写在同一行一样。

梅威瑟:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
   \draw[fill=black] (0,0) circle (2pt);
   \draw[fill=black] (1,0) circle (2pt);
   \node[above] at (0,0) {$M_1$};
   \node[above] at (1,0) {$M$};
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

答案1

快速回答:您可以使用 将节点的对齐锚点设置为内部文本的基线anchor=base。但是,您需要将它们稍微向上移动。

\documentclass[border=1mm, tikz]{standalone}

\begin{document}
\begin{tikzpicture}
   \draw[fill=black] (0,0) circle (2pt);
   \draw[fill=black] (1,0) circle (2pt);
   \node[above=5pt, anchor=base] at (0,0) {$M_1$};
   \node[above=5pt, anchor=base] at (1,0) {$M$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

一种方法是在圆圈上方写文字作为标签,并为其定义text depth

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[
dot/.style = {circle, fill, minimum size=4mm,
              inner sep=0pt, outer sep=0pt},
every label/.append style = {text  depth=0.5ex}
                        ]
\node[dot, label=above:$M_1$] at (0,0)  {};
\node[dot, label=above:$M$]   at (1,0)  {};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容