get height on a block of latex output

I think this will work:

\newlength{\somenamehere}
\settoheight{\somenamehere}{\hbox{...}}

Where ... is your content you like to measure. And you can then use \somenamehere as the height of that content.


Example:

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

\begin{document}
\newlength{\heightofhw}
\settoheight{\heightofhw}{\hbox{Hello World!}}
Value = \the\heightofhw
\end{document}

Will output:

Value = 6.8872pt


Note:

  • Values of lengths are stored as points, and 1 inch ≈ 72.27 pt
  • This does not require any additional packages.

Update:

Use \hbox to correctly calculate the height of a different sized environment, but it won't work with newlines :-(


Usually, the trick is to put whatever you want to measure into a box and then simply not typeset the box, but measure it:

\newdimen\height
\setbox0=\hbox{\Huge Hello, World!}
\height=\ht0 \advance\height by \dp0
The height is: \the\height

Tags:

Latex