obter a largura (em pt) de uma caixa

obter a largura (em pt) de uma caixa

Eu obteria a largura (portanto, uma dimensão) de uma string em uma caixa. Preciso saber a largura de \hphantom{some text}, para usá-lo em uma imagem tikz, por exemplo, pois \draw (0,0)--(\mylen,0);representa uma linha com a mesma largura da string some text.

Responder1

Se você tiver apenas texto normal na caixa, o TikZ também poderá medi-lo, que é o que você está tentando fazer manualmente de qualquer maneira. Ele apenas usa sua própria caixa temporária para medir. Mas \textbfetc. coisas não são tão fáceis de usar. Portanto, use-o com cautela.

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

Ah, e heightfunciona também.

insira a descrição da imagem aqui

Responder2

Declare uma nova caixa no preâmbulo (por exemplo). Coloque seu objeto dentro da caixa. E você pode acessar a largura e a altura da caixa.

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

Responder3

O calcpacote fornece o \widthof{some text}comando com o qual você pode medir a largura de uma string específica (aqui:algum texto). Você pode usá-lo como usaria qualquer outro comprimento no LaTeX, por exemplo 2cm.

informação relacionada