逗号对齐问题

逗号对齐问题

我不知道如何将所有标签设置在同一级别。

\documentclass[french]{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[>=stealth,x=6cm,font=\footnotesize]

\draw [->] (0,0)--(1,0)  ;

\foreach \x in {0,1,...,12} {%
    \coordinate (\x) at (\x/12,0) ;
    \draw [very thin] (\x/12,+2pt)--(\x/12,-2pt) ;

    \pgfmathsetmacro\result{2 + \x / 10}
    \node[above=1pt]  at (\x)%
        {\pgfmathprintnumber[precision=1,fixed,use comma]{\result}};

    } ;

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

问题在于带逗号的节点比不带逗号的节点高,或者具体来说,它们的深度更大,也就是说它们位于文本基线以下更远。解决此问题的一种方法是设置节点text depth

\node[above=1pt,text depth=2pt]  at (\x)%
    {\pgfmathprintnumber[precision=1,fixed,use comma]{\result}};

(有关文本深度的说明,请参见这是我在另一个问题下的回答

在此处输入图片描述

\documentclass[10pt,a4paper,french]{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[>=stealth,x=6cm,font=\footnotesize]

\draw [->] (0,0)--(1,0)  ;

\foreach \x in {0,1,...,12} {%
    \coordinate (\x) at (\x/12,0) ;
    \draw [very thin] (\x/12,+2pt)--(\x/12,-2pt) ;

    \pgfmathsetmacro\result{2 + \x / 10}
    \node[above=1pt,text depth=3pt]  at (\x)%
        {\pgfmathprintnumber[precision=1,fixed,use comma]{\result}};

    } ;

\end{tikzpicture}
\end{document}

相关内容