我正在尝试改进使用 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}