293

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

doncherry
  • 54,637
Level1Coder
  • 7,029

4 Answers4

457

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

Alan Munn
  • 218,180
  • 23
    +1 for \f@size pt – fuenfundachtzig Aug 01 '11 at 14:34
  • doesn't work for LaTeX though :( – Frederick Nord May 02 '13 at 22:38
  • 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 May 03 '13 at 03:37
  • 1
    Maybe beyond the scope of this question, but can you tell us how or why these font sizes were selected? – Ingo Nov 05 '13 at 12:22
  • 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) – David Carlisle Nov 05 '13 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. – barbara beeton Dec 15 '13 at 20:31
  • 1
    just to note that the ams document classes have a more finely graded progression; working downward from \normalsize there is \small, \Small, \SMALL, and \tiny. these are redefined appropriately for each size that can be included as an option for that document class, and \footnotesize and \scriptsize are then assigned to the appropriate more "generic" size. it's always good to check the document class you're using to see what's actually available. – barbara beeton Dec 15 '13 at 20:38
  • How do you know that the correct unit after \f@size is pt? Isn't \f@size just a unitless number? – StrawberryFieldsForever Jan 18 '14 at 23:57
  • @StrawberryFieldsForever Although \f@size is just a number, its value is set the the macro \set@fontsize which sets the units to pt. – Alan Munn Jan 19 '14 at 02:07
  • @AlanMunn Where is the reference? – Erdinc Ay Jan 20 '16 at 10:30
  • @barbarabeeton Where is your reference? – Erdinc Ay Jan 20 '16 at 10:32
  • @ErdincAy -- to which comment are you referring? if you are referring to the one about ams document classes, the documentation of sizes can be found in the file viewed with texdoc amsclass starting on page 6. regarding the 1.2 sizing factors, this is the basis for the \magstep progression covered in the texbook, p.17 and elsewhere. i would have to dig into archives to find an exact reference for the use of demagnification, but this was normal practice in the earliest days of tex, of which i have personal experience. – barbara beeton Jan 20 '16 at 22:50
  • @barbarabeeton Hi Barbara, thanks for your fast response. I am confused about LaTeX, I do not know where to start, where to look for the references, and how to read them. I searched on Google, but the results did not direct me to a "source" of "references". Can you advise me? – Erdinc Ay Jan 21 '16 at 23:35
  • @ErdincAy Hi I was also a bit confused by what you were asking. There are some very good recommendations for resources for learning LaTeX here: What are good learning resources for a LaTeX beginner? – Alan Munn Jan 22 '16 at 03:56
  • \f@size pt doesn't work for me using pdflatex on sharelatex. Undefined control sequence. – Ela782 May 09 '17 at 17:28
  • 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 May 09 '17 at 17:35
  • @AlanMunn: Aah! Yes, I was using it directly within the text. Cool, I didn't know that. Thank you very much! – Ela782 May 09 '17 at 17:39
  • 1
  • The point sizes corresponding to those commands are the same in the memoir class as for the standard classes. – murray Jun 08 '23 at 19:37
21

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
}
Leo Liu
  • 77,365
9

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

0

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

Et7f3XIV
  • 101