tikz 中的尖锐符号偏移和文本左对齐问题

tikz 中的尖锐符号偏移和文本左对齐问题

我正在尝试改进使用 tikz 包制作的图形。它目前看起来像这样:

数字

具体来说,我对行和列标题有以下两个问题:

  • 尖锐符号“\sharp”似乎垂直偏移了前面的字母。我该如何避免这种情况?
  • 如何使行标题左对齐?

即便搜索过后,我也不知道该怎么做。如能得到任何帮助,我将不胜感激。这是生成标题的代码片段:

\foreach \x/\y in { 1/C,
                    2/C$\sharp$,
                    3/D,
                    4/E$\flat$,
                    5/E,
                    6/F,
                    7/F$\sharp$,
                    8/G,
                    9/A$\flat$,
                    10/A,
                    11/B$\flat$,
                    12/B}
{
    \draw (\x,13) node{\y};
    \draw (0,13-\x) node{\y};
}

答案1

为了修复垂直对齐,您可以设置node [text depth=0pt]。这告诉 TikZ 忽略文本的下降部分进行对齐。

为了使行标题左对齐,您可以设置node [anchor=west]

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x/\y in { 1/C,
                    2/C$\sharp$,
                    3/D,
                    4/E$\flat$,
                    5/E,
                    6/F,
                    7/F$\sharp$,
                    8/G,
                    9/A$\flat$,
                    10/A,
                    11/B$\flat$,
                    12/B}
{
    \draw (\x,13) node [text depth=0pt] {\y};
    \draw (-0.5,13-\x) node [anchor=west] {\y};
}
\draw [shift={(-0.5,-0.5)}] (1,1) grid (13,13);
\end{tikzpicture}
\end{document}

相关内容