获取框中某个点的位置(无需 shipout)

获取框中某个点的位置(无需 shipout)

给出以下代码:

\documentclass{article}
\begin{document}
\setbox0=\hbox{hello \fbox{other [.] text} world.}
\box0
\end{document}

我可以使用 zref-savepos 来确定框内点的位置:

\documentclass{article}
\usepackage{zref-savepos}
\begin{document}
\setbox0=\hbox{\zsavepos{leftmostpoint}hello \fbox{other [.\zsavepos{dotpoint}] text} world.}
\box0
\the\dimexpr\zposx{dotpoint}sp-\zposx{leftmostpoint}sp\relax
\end{document}

但:

  • 需要将箱子运出
  • 需要另一次编译

问题:有没有办法计算框中点的位置,而无需发货?

我知道有\wd\ht以及\dp用于盒子的,但仅此而已。

动机:我希望能够为 Asymptote 实现类似于 tikzmark 的东西(如何在 Asymptote 中根据公式的各个部分制作箭头?(或者:测量标签的宽度,在标签周围获取锚点))。为此,Asymptote 使用双向管道来测量盒子的宽度、高度和深度,但我还希望在盒子内使用自定义锚点。

相关内容