Holen Sie sich die Breite (in pt) einer Box

Holen Sie sich die Breite (in pt) einer Box

Ich möchte die Breite (also eine Dimension) eines Strings in einer Box erhalten. Ich muss die Breite von kennen \hphantom{some text}, um sie beispielsweise in einem Tikz-Bild verwenden zu können, da \draw (0,0)--(\mylen,0);dies eine Linie mit der gleichen Breite wie der String darstellt some text.

Antwort1

Wenn Sie nur normalen Text in der Box haben, kann TikZ diesen auch messen, was Sie sowieso manuell versuchen. Es verwendet einfach seine eigene temporäre Box zum Messen. Aber \textbfusw. ist nicht so einfach zu verwenden. Verwenden Sie es also mit Vorsicht.

\begin{tikzpicture}
\pgfmathsetmacro\mylen{width("some text")}
\node[anchor=west,inner sep=0] {some text};
\draw[red,thick] (0,0) -- (\mylen pt,0);
\end{tikzpicture}

Oh, und heightfunktioniert auch.

Bildbeschreibung hier eingeben

Antwort2

Deklarieren Sie beispielsweise in der Präambel eine neue Box. Platzieren Sie Ihr Objekt in der Box. Und Sie können auf die Breite und Höhe der Box zugreifen.

\newsavebox\IBox% declare a box
\savebox\IBox{some text}% put an object inside the box
% other codes...
\draw (0,0) -- (\wd\IBox,\ht\IBox) node {\usebox\IBox};% access the width, height of the box and make use of the box.

Antwort3

Das calcPaket stellt den \widthof{some text}Befehl zur Verfügung, mit dem Sie die Breite einer bestimmten Zeichenfolge messen können (hier:etwas Text). Sie können es wie jede andere Länge in LaTeX verwenden, z . B. 2cm.

verwandte Informationen