Ermitteln Sie die Position eines Punktes in einer Box ohne Versand

Ermitteln Sie die Position eines Punktes in einer Box ohne Versand

Gegeben sei der folgende Code:

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

Ich kann zref-savepos verwenden, um die Position des Punkts innerhalb der Box zu bestimmen:

\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}

Aber:

  • Die Box muss versendet werden
  • Es ist ein weiterer Kompilierungsdurchgang erforderlich

Frage:Gibt es eine Möglichkeit, die Position des Punkts in der Box ohne Versand zu berechnen?

\wdIch weiß , dass es \htund für Boxen gibt \dp, aber mehr nicht.

Motivation: Ich möchte in der Lage sein, etwas Ähnliches wie Tikzmark für Asymptote zu implementieren (Wie kann ich in Asymptote aus Teilen einer Formel einen Pfeil erstellen? (oder: Breite eines Etiketts messen, Anker um ein Etikett legen)). Dafür verwendet Asymptote eine bidirektionale Pipe, um die Breite, Höhe und Tiefe der Boxen zu messen, aber ich möchte auch einen benutzerdefinierten Anker innerhalb der Box.

verwandte Informationen