LaTeX には、文字の大きさを段階的に変える 10 個の宣言型命令 \tiny から \Huge までが用意されています。これらは「宣言」なので引数を取らず、効果は現在のグループや環境の終わりまで続きます。実際の級数(ポイント数)は文書クラスの基準サイズ(10pt / 11pt / 12pt)に応じて変わります。任意のサイズには \fontsize を使います。
10 個のサイズ命令
標準のサイズ命令は、小さいものから大きいものへ次の 10 個です。\tiny、\scriptsize、\footnotesize、\small、\normalsize、\large、\Large、\LARGE、\huge、\Huge。L や H の大文字・小文字、LARGE の全部大文字が段階を表すので、見た目より綴りに注意してください。\normalsize が本文の標準サイズで、\documentclass のサイズオプション(既定では 10pt)と一致します。
これらは 宣言(declaration) です。\textbf{...} のように引数を取る命令とは違い、命令を書いた地点から その先の文字サイズを切り替える だけで、どこまで効くかは自分でグループや環境を使って区切ります。だから多くの場合、波括弧で囲んで {\Large ここだけ大きい} のように スコープ(有効範囲)を限定 します。閉じ波括弧の地点で元のサイズに戻ります。
通常の大きさの文。{\Large ここだけ大きく}、また通常へ戻ります。
{\small この段落全体が小さい級数になります。閉じ波括弧まで効果が続きます。}実際のポイント数は基準サイズ次第
重要なのは、各命令が出す 実際のポイント数が、文書クラスの基準サイズによって変わる ことです。たとえば article を 10pt・11pt・12pt のどれで読み込んだかで、同じ \large でも結果の級数が異なります。これは命令が「絶対の大きさ」ではなく「本文に対する相対的な段階」を表しているためです。次の表は標準クラス(article / report / book など)での値です。
| 命令 | 10pt のとき | 11pt のとき | 12pt のとき |
|---|---|---|---|
\tiny | 5pt | 6pt | 6pt |
\scriptsize | 7pt | 8pt | 8pt |
\footnotesize | 8pt | 9pt | 10pt |
\small | 9pt | 10pt | 10.95pt |
\normalsize | 10pt | 10.95pt | 12pt |
\large | 12pt | 12pt | 14.4pt |
\Large | 14.4pt | 14.4pt | 17.28pt |
\LARGE | 17.28pt | 17.28pt | 20.74pt |
\huge | 20.74pt | 20.74pt | 24.88pt |
\Huge | 24.88pt | 24.88pt | 24.88pt |
表から分かるように、\normalsize は 10pt クラスで 10pt、11pt クラスで 10.95pt、12pt クラスで 12pt になります。級数の刻みはおおむね 1.2 倍ずつで、\Huge は上限に張り付くため、たとえば 11pt クラスでは \huge と \Huge が同じ 24.88pt になります。なお、これらの値は標準クラスのもので、jsarticle などの和文クラスや extsizes・KOMA-Script では刻みや上限が異なります。
任意のサイズ: \fontsize と \selectfont
10 段階に欲しい大きさがないときは、\fontsize{サイズ}{行送り} で任意のポイント数を直接指定できます。第 1 引数が文字サイズ、第 2 引数が 行送り(baselineskip、行の基準線どうしの間隔) です。\fontsize は値を設定するだけで、実際に反映するには続けて \selectfont を呼ぶ必要があります。
{\fontsize{20}{24}\selectfont 20pt・行送り 24pt の文字。}行送りは慣習として文字サイズの約 1.2 倍に取ります(20pt なら 24pt 程度)。これを省いて極端に小さくすると、行が重なって読めなくなります。\tiny などの宣言型命令は行送りも自動で調整しますが、\fontsize では 自分で行送りを指定しなければならない のが大きな違いです。これも宣言なので、上の例のように波括弧でスコープを区切ります。
段落に効かせるときの注意
よくある落とし穴があります。サイズの変更を 段落全体 に効かせたいときは、段落の終わりを示す 空行または \par を、グループ(波括弧)を閉じる前に入れる 必要があります。LaTeX は段落を組み終える瞬間の行送りを使うため、空行をグループの外に出すと、本文の行送りで段落が組まれ、行間だけが元のサイズに戻ってしまいます。
% 正しい — \par がグループの内側にある
{\Large
この段落は大きな文字で、行送りも大きさに合います。
\par}
% 誤り — 段落の区切りがグループの外
{\Large この段落は文字こそ大きいが、行送りが本文のまま}
次の段落。もうひとつ。サイズ命令は数式モードの中では使えず、警告が出ます。数式の一部を大きくしたいときは \displaystyle などの数式用のサイズ調整を使い、本文の級数を変える命令とは区別してください。
直接大きくする前に考えること
本文を書いている途中で \Large や \small を打ちたくなったら、まず「その大きさは文書構造の一部か、一回きりの調整か」を分けます。見出し、脚注、キャプション、定理環境、表の注記のように繰り返し現れるものなら、本文中で毎回サイズを指定せず、対応する環境やスタイルの定義を変えます。一回だけのポスター見出しや表中の補助説明なら、グループで範囲をきちんと閉じて局所的に使います。
- 章見出しは本文で大きくしない。
\sectionの見た目はクラスやtitlesecなどの設定で変えます。 - 表の中では読みやすさを優先する。 表全体を
\scriptsizeにして詰め込む前に、列を減らす、横向きにする、別表に分ける判断をします。 - 行送りも同時に見る。
\fontsizeを使うなら、文字サイズだけでなく第2引数の baselineskip を必ず指定します。 - 提出 PDF で確認する。 画面上で読めても、印刷・査読 PDF では小さすぎることがあります。最終ページサイズで確認します。
サイズを決める順序
文字サイズは、本文を書きながら局所的に直すものではなく、上から順に決めると破綻しません。まず \documentclass[11pt]{...} のように文書全体の基準サイズを決めます。次に、見出し・キャプション・脚注・表注など、構造に属するサイズをクラスやパッケージ設定で決めます。最後に、本文中の一回きりの注記だけを {\small ...} のように局所指定します。ポスターやスライドのように本文級数そのものが違う文書では、局所命令ではなく、最初からその用途のクラスを選びます。
- 基準サイズはクラスオプションで決める。 本文全体を
\smallで包むのは、行送り・脚注・見出しとの整合を壊しやすい方法です。 - 繰り返す要素は定義側で変える。 すべての表注を小さくするなら、表注用のマクロや環境を作り、本文中の手作業をなくします。
- 局所指定は段落単位で閉じる。 長い段落を小さくするなら、
\parをグループの内側に置き、行送りまで同じサイズで確定させます。