296

In the preamble I have:

\documentclass[a4paper,11pt]{article}
\usepackage{fontspec}
\setmainfont{Arial}

What can be inferred about the real font pt size for the following?

\tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge

1
  • 2
    If you want to be precise about font sizes, this answer might be of interest to you.
    – doncherry
    Commented Aug 1, 2011 at 11:22

4 Answers 4

461

The font changing commands are often determined by the document class itself. For the standard classes (with size options in the first row), the values are as follows:

Command             10pt    11pt    12pt
\tiny               5       6       6
\scriptsize         7       8       8
\footnotesize       8       9       10
\small              9       10      10.95
\normalsize         10      10.95   12
\large              12      12      14.4
\Large              14.4    14.4    17.28
\LARGE              17.28   17.28   20.74
\huge               20.74   20.74   24.88
\Huge               24.88   24.88   24.88

Other classes (especially the major document classes such as KOMA and Memoir) may have different values. The following document will print out the font sizes for all the standard size changing commands. You can use it to check font sizes for other classes.

\documentclass[11pt]{article}

\makeatletter
\newcommand\thefontsize[1]{{#1 The current font size is: \f@size pt\par}}
\makeatother

\begin{document}
\sffamily
\thefontsize\tiny
\thefontsize\scriptsize
\thefontsize\footnotesize
\thefontsize\small
\thefontsize\normalsize
\thefontsize\large
\thefontsize\Large
\thefontsize\LARGE
\thefontsize\huge
\thefontsize\Huge
\end{document}

output of code

19
  • 23
    +1 for \f@size pt Commented Aug 1, 2011 at 14:34
  • 2
    @FrederickNord Of course it works with LaTeX. Just remove the XeLaTeX specific code from the sample document. I only used XeLaTeX because the original question used XeLaTeX. See Frequently loaded packages: Differences between pdfLaTeX and XeLaTeX. I've updated the code to work on any engine.
    – Alan Munn
    Commented May 3, 2013 at 3:37
  • 6
    @Ingo the integer sizes related to the fonts available in the original computer modern distribution. The non integer ones are all scaled versions of those in \magstep (ie powers of 1.2) units. Note with the original bitmap format it was hugely costly in time and space to have arbitrary scaled fonts. You really wanted to always use the fonts pre-computed for fixed sizes (and for fixed printer types that you had available) Commented Nov 5, 2013 at 16:01
  • 3
    @Ingo -- another reason for the original sizing and the use of powers of 1.2 was that early raster printers were not of very high resolution, and it was often the practice to set a document at "the next larger size", and photographically demagnify it to the desired size. using a uniform scaling helped keep the relative proportions looking tolerable. Commented Dec 15, 2013 at 20:31
  • 2
    @Ela782 Without more information on how you are trying to use it, it is impossible to tell. But you can't use it as a macro in your main document, since it has an @ in it. So you can use it inside a macro that you define (like I did) or you could make a new macro without the @: \makeatletter\let\myfsize\f@size\makeatother will define \myfsize to be the same as \f@size.
    – Alan Munn
    Commented May 9, 2017 at 17:35
22

See also the source code of standard document classes.

In classes.dtx: 6.1 Fonts.

Or size10.clo, size11.clo and size12.clo in $TEXMF/tex/latex/base/.

For example, in size10.clo:

\newcommand\small{%
   \@setfontsize\small\@ixpt{11}%
   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus2\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
9

A short overview of font sizes in the »LaTeX2e Reference Manual« might be helpful.

1
-1

You can also read the source code: https://github.com/TeX-Live/texlive-source/blob/f0c6b9ed37a37c0bbe826ef90c1e64dd7b6b618e/utils/asymptote/base/size11.asy#L2 found with the GitHub search feature you have another file for size10

2
  • Welcome to tex.sx. Commented Jun 8, 2023 at 18:35
  • Sorry, but this is an asymptote file, and is not the source of the LaTeX kernel. It has very little to do with how font sizes are determined in a regular LaTeX document.
    – Alan Munn
    Commented Jun 8, 2023 at 19:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .