Font size commands

LaTeX gives you ten stepwise declarations for changing text size, from \tiny to \Huge. They are *declarations* — they take no argument and stay in effect until the end of the current group or environment. The actual point size each one yields depends on the base size of your document class (10pt / 11pt / 12pt). For an arbitrary size, you use \fontsize.

The ten size declarations

The standard size commands, from smallest to largest, are these ten: \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge. The case of the L and H, and the all-caps LARGE, mark the steps — so watch the spelling, not just the look. \normalsize is the document body size; it matches the size option of your \documentclass (10pt by default).

These are declarations. Unlike a command such as \textbf{...} that takes an argument, a declaration simply switches the size from that point onward; how far it reaches is up to you, controlled with a group or environment. So most of the time you wrap it in braces — {\Large just this part is large} — to limit its scope. At the closing brace, the size returns to what it was.

latex
通常の大きさの文。{\Large ここだけ大きく}、また通常へ戻ります。

{\small この段落全体が小さい級数になります。閉じ波括弧まで効果が続きます。}

Actual point sizes depend on the base

The key point is that the actual point size each command yields changes with the base size of your document class. Whether you loaded article at 10pt, 11pt, or 12pt, the same \large produces a different size. That is because the commands denote *relative steps* against the body text, not absolute sizes. The table below gives the values for the standard classes (article / report / book, etc.).

Commandat 10ptat 11ptat 12pt
\tiny5pt6pt6pt
\scriptsize7pt8pt8pt
\footnotesize8pt9pt10pt
\small9pt10pt10.95pt
\normalsize10pt10.95pt12pt
\large12pt12pt14.4pt
\Large14.4pt14.4pt17.28pt
\LARGE17.28pt17.28pt20.74pt
\huge20.74pt20.74pt24.88pt
\Huge24.88pt24.88pt24.88pt

As the table shows, \normalsize is 10pt in a 10pt class, 10.95pt in an 11pt class, and 12pt in a 12pt class. The steps grow by roughly a factor of 1.2, and \Huge is pinned at the top — so in an 11pt class, for instance, \huge and \Huge are both 24.88pt. Note that these values are for the standard classes; Japanese classes such as jsarticle, and extsizes or KOMA-Script, use different steps and ceilings.

An arbitrary size: \fontsize and \selectfont

When none of the ten steps gives the size you want, \fontsize{size}{baselineskip} lets you name an exact point size. The first argument is the font size; the second is the baselineskip — the spacing between the baselines of consecutive lines. \fontsize only sets the values; to actually apply them you must follow it with \selectfont.

latex
{\fontsize{20}{24}\selectfont 20pt・行送り 24pt の文字。}

By convention the baselineskip is about 1.2 times the font size (roughly 24pt for a 20pt font). Set it too small and the lines overlap into an unreadable mess. The declaration commands like \tiny adjust the line spacing for you automatically; the crucial difference is that with \fontsize you must supply the baselineskip yourself. It too is a declaration, so scope it with braces as in the example above.

A gotcha when sizing a paragraph

A common pitfall: when you want a size change to apply to a whole paragraph, the **blank line (or \par) that ends the paragraph must come *before* you close the group**. LaTeX uses the line spacing in force at the moment it finishes setting the paragraph, so if the blank line falls outside the braces, the paragraph is set with the body line spacing — the leading snaps back to the original size.

latex
% 正しい — \par がグループの内側にある
{\Large
この段落は大きな文字で、行送りも大きさに合います。
\par}

% 誤り — 段落の区切りがグループの外
{\Large この段落は文字こそ大きいが、行送りが本文のまま}

次の段落。

One more thing: the size commands cannot be used inside math mode — LaTeX will warn you. To enlarge part of a formula, use math-specific sizing such as \displaystyle, kept separate from these body-text size commands.