为什么 \pgfmathheight 没有给出写入高度值

为什么 \pgfmathheight 没有给出写入高度值

我想在绘制 tikz 节点之前知道它的高度,所以我找到了一个 pgf 命令名 \pgfmathheight,它可以给我一个字符的高度(以 pt 为单位)。但实际上,当我尝试使用某个字符(如“y”)时,高度似乎不正确。我使用以下代码进行测试:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
  \pgfmathsetmacro\mylenHght{height("y")};
  \pgfmathsetmacro\mylenWdht{width("y")};
  \node[draw=blue,inner sep=0] (TestHeightNode) at (0,0) {y};
    \draw[draw=red] let %
    \p1 = (TestHeightNode.south west)%
    in (\x1,\y1) rectangle (\x1+\mylenWdht pt,\y1+\mylenHght pt);
\end{tikzpicture}

\end{document}

上述代码的结果

答案1

因此,根据您的所有建议,代码现在如下所示:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
  \pgfmathsetmacro\mylenHght{height("y")+depth("y")};
  \pgfmathsetmacro\mylenWdht{width("y")};
  \node[draw=blue,inner sep=0] (TestHeightNode) at (0,0) {y};
  \draw[red] (TestHeightNode.south west) rectangle +(\mylenWdht pt,\mylenHght pt);
\end{tikzpicture}

\end{document}

新结果

我的问题已经解决了,谢谢大家

相关内容