分割矩形中的文本垂直错位

分割矩形中的文本垂直错位

以下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")

文本高度较小的结果

相关内容