Why not scale elements that contain text

For good fonts, different font sizes don't only have a different size, but the actual shape of the letters is different.

Consider the following example:

\documentclass{article}
\usepackage{adjustbox}

\begin{document}

\resizebox{3cm}{!}{\tiny Q}
\resizebox{3cm}{!}{\Huge Q} 

\end{document} 

enter image description here

As one can see the shape of the letters is different. For the tiny font, the strokes are thicker compared to the large font. This ensures that small symbols are still readable.

If one merely scales a font, the size of the letters from the current font size is changed, but the shape of the letters is not changed.

For the best possible result, it is thus better to choose an appropriate font size instead of scaling elements that contain text.


Scaling an element which contains text will result in an inconsistent font size compared to the rest of the document.

Especially automatic scaling to fit a table to the text width (\resizebox{\textwidth}{!}{...}) will ensure that each and every table with have another font size which will look messy.


Only for fonts which have different optical sizes of the font, e.g. Latin Modern for 5pt and 17 pt. Without such own font files you'll get the same. For example the Libertinus:

\documentclass{article}
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\begin{document}

\resizebox{3cm}{!}{\tiny Q}
\resizebox{3cm}{!}{\Huge Q} 

\fontfamily{LibertinusSerif-LF}\selectfont
\resizebox{3cm}{!}{\tiny Q}
\resizebox{3cm}{!}{\Huge Q} 

\end{document}

enter image description here

The embedded fonts are:

bash-3.2$ pdffonts document.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
DJAQCM+LMRoman5-Regular              Type 1C           WinAnsi          yes yes yes      4  0
OQYFCQ+LMRoman17-Regular             Type 1C           WinAnsi          yes yes yes      5  0
AJPGYT+LibertinusSerif               Type 1C           WinAnsi          yes yes yes      6  0
OWXLSH+LMRoman10-Regular             Type 1C           WinAnsi          yes yes yes      7  0

Tags:

Fonts

Scaling