笔记:

笔记:

为了避免节点错位问题,tikz我决定设置选项text height和,text depth以便所有节点都具有与普通文本行相同的高度和深度。根据维基百科,文本行的标准高度为.7\baselineskip,标准深度为.3\baselineskip。因此我

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \node[draw,text height=.7\baselineskip,text depth=.3\baselineskip] at (0,0) {x};

\end{tikzpicture}
\end{document}

但这意味着我必须记住这些价值观。

是否有一个命令可以计算我在这种情况下可以使用的盒子的高度和深度?例如text depth=\depthof\strut

笔记:

这个问题与如何使用 \heightof 固定 TikZ 节点的高度?。然而,那里给出的涉及该包的解决方案calc似乎不再起作用。

答案1

作为\strutbox参考。以下是一些参考资料:

在此处输入图片描述

\documentclass{article}

\begin{document}

\fbox{\rule[-.3\baselineskip]{2em}{\baselineskip}} % Your reference
\fbox{\usebox\strutbox} % \strutbox
\fbox{\rule[-\dp\strutbox]{2em}{\dimexpr\ht\strutbox+\dp\strutbox}}% \strutbox height/depth

\end{document}

  • 第一个盒子的深度.3\baselineskip全部的高度\baselineskip(暗示高度.7\baselineskip),与您正在使用的类似。

  • 第二个框打印\strutbox(高度/深度为 的零宽度框\strut)。

  • 第三个框复制第一个框,用作\strutbox测量对象。

以上内容表明您应该能够使用\ht\strutbox(的h第八个)来表示,以及使用(的第十个)来表示。t\strutboxtext height\dp\strutboxdp\strutboxtext depth

答案2

没有任何软件包:

\documentclass[]{article}

\begin{document}
\setbox0\hbox{foo}
\begin{tabular}[]{ll}
  width & \the\wd0\\
  depth & \the\dp0\\
  height & \the\ht0
\end{tabular}

\setbox0\hbox{goo}
\begin{tabular}[]{ll}
  width & \the\wd0\\
  depth & \the\dp0\\
  height & \the\ht0
\end{tabular}
\end{document}

请注意,不可扩展。如果不适用于您需要的内容,但宽度不适用(最终为),\setbox则可以使用 。\vbox\hbox\linewidth

相关内容