LaTeX 在 \heightof 上抛出错误

LaTeX 在 \heightof 上抛出错误

我尝试\heightof在文档中使用,但 XeLaTeX 抛出错误。两个最小代码结束错误如下。Ubuntu 20.04 最新更新

\documentclass[14pt,a4paper]{extarticle}
\usepackage{calc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[minimum height=\heightof{A}]{A};
\end{tikzpicture}
\end{document}

ABD: EveryShipout initializing macros
! Undefined control sequence.
\pgfmath@dimen@ ...men@@ #1=0.0pt\relax \pgfmath@ 
                                                  
l.6 \node[minimum height=\heightof{A}]{A};

UPD。粗体文本的高度为height("{\textbf{A}}")

答案1

\heighof在 tikz 中不起作用,请使用其提供的函数。请参阅文档中的“数学表达式”部分。

\documentclass[14pt,a4paper]{extarticle}
\usepackage{calc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[minimum height=height("A")]{A};
\end{tikzpicture}
\end{document}

另外:minimum height不描述节点内容的高度,即 TeX 框的高度,而是总高度:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw,inner sep=0,minimum height=10pt] (A) {.};

\draw[red,<->] ([xshift=-2pt]A.south west) --++ (0,10pt);
\end{tikzpicture}
\begin{tikzpicture}
\node[draw,minimum height=10pt] (A) {.};

\draw[red,<->] ([xshift=-2pt]A.south west) --++ (0,10pt);
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

该命令仅在包表达式\heightof中有效。calc

您可以使用height{"A"},但这不会处理inner sep,因此您应该将其添加到最小高度。

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\node[draw,minimum height=height("A")+2*(\pgfkeysvalueof{/pgf/inner ysep})]{A};
\end{tikzpicture}
\begin{tikzpicture}
\node[draw,minimum height=height("A")+2*(\pgfkeysvalueof{/pgf/inner ysep})]{x};
\end{tikzpicture}

\begin{tikzpicture}[inner sep=1pt]
\node[draw,minimum height=height("A")+2*(\pgfkeysvalueof{/pgf/inner ysep})]{A};
\end{tikzpicture}
\begin{tikzpicture}[inner sep=1pt]
\node[draw,minimum height=height("A")+2*(\pgfkeysvalueof{/pgf/inner ysep})]{x};
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容