
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?
\wd
Ich weiß , dass es \ht
und 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.