# [texhax] Retrieve graphics measurments

Tue Jul 20 23:07:01 CEST 2010

Marshall Feldman wrote:
> On Fri Jul 9 23:15:29 CEST 2010, Martin Schröder martin at oneiros.de
> wrote:
>
>> 2010/7/9 Marshall Feldman<marsh at uri.edu
>> <http://tug.org/mailman/listinfo/texhax>>:
>> />  I am a very new LaTeX user. I've searched all over and cannot find
>> this
> />/>  information. My question is, how does one retrieve the dimensions
> of an
> />/>  inserted graphic?
> /
>> \settowidth et.al.
>
>> Best
>>    Martin
>
> Sorry, but I should have been more explicit. I'm trying to develop a
> class for letterhead stationary that will allow the user to specify one
> of several graphics to appear in the header. So to get the page layout
> right, it's important to measure the height of the graphic accurately,
> depending on which graphic is specified.
>
> Suppose I have an encapsulated PostScript (eps) file containing the
> following two lines:
>
>    %%BoundingBox: 0 0 543 388
>    %%HiResBoundingBox: 0 0 542.7368 387.7378
>
>  From this information, the aspect ratio (h/w) is 388/543 = 0.7145.
>
> Now I read this figure into my LaTeX document using the graphicx package
> and the following LaTeX code:
>
>    \newsavebox{\mybox}
>    \sbox{\mybox}
>              {\makebox[2.0in][l]
>              {\includegraphics[width = 2.0in]{myfig}}}
>
> With the 2.0in width, the height of the box and included graphic should
> be 2 x 0.7145 = 1.43in. But how does one find this out within LaTeX?
>
> What I'd like to do is:
>
>    \newlength{\myboxheight}
>    \setlength{\myboxheight}{\height{mybox}}
>
> or even
>
>    \setlength{\myboxheight}{\height{myfig}}
>
> But there doesn't seem to be any way to do this. Every example I can
> find on the web calls for the user figuring out the height manually.
> Suppose, for example, we wanted the class to allow the user to specify
> not only which graphic to use but also its scale by specifying its
> width. Now there would be absolutely no way to know the height until the
> user specifies it.
>
> Surely there must be a way to do this.
>
> Thanks.
>
>     Marsh Feldman
>

\ht\mybox = height above baseline
\dp\mybox = depth below baseline
\wd\mybox = width

very handy to know

\usepackage{calc}

\setlength\myboxheight{\ht\mybox+\dp\mybox}

/daleif