以下tikz
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}
[my shape/.style={
rectangle split, rectangle split parts=#1, draw, anchor=center, text
height=4mm, text width=16mm}]
\node [my shape=4, rectangle split horizontal, rectangle split part fill={red!50, green!50}] at (2,2)
{px\nodepart{two}py\nodepart{three}pz\nodepart{four}pw};
\end{tikzpicture}
\end{document}
结果如下图所示:
可以看出,由于某种原因,“px”的位置低于“py”、“pz”和“pw”。我该如何解决这个问题?
另外,我希望将四根琴弦放在方框的中心。最好的做法是什么?
答案1
部件内的文本可以通过选项 进行对齐rectangle split part align
。文本通过选项水平居中align=center
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[
my shape/.style={
rectangle split,
rectangle split parts=#1,
rectangle split part align=base,
align=center,
draw,
anchor=center,
text height=4mm,
text width=16mm
},
]
\node [
my shape=4,
rectangle split horizontal,
rectangle split part fill={red!50, green!50}
] at (2,2)
{px\nodepart{two}py\nodepart{three}pz\nodepart{four}pw};
\end{tikzpicture}
\end{document}
基线上方和下方的位置会受到text height
和 的影响text depth
。此处 的值较小text height
会更好看,例如:
text height=height("A")