強調(\emph)

文章の一部を「強調したい」とき、LaTeX では \emph{...} を使います。これは「ここをイタリックにせよ」ではなく「ここを 強調する」という *意味* を表す命令です。だから既定ではイタリックになりますが、すでにイタリックの中 で使うと逆に立体(ローマン)へ戻る――この切り替えこそが \emph の核心で、いつも傾けるだけの \textit とは決定的に違います。

見た目ではなく意味を指定する

\emph{強調したい語句} と書くと、引数の中身が強調されます。ここで大切なのは、\emph が指定しているのは 「強調」という役割 であって、「イタリック体」という見た目ではない、ということです。どんな書体で強調を表すかは、文書クラスやパッケージが決めます。既定の挙動はたまたまイタリック化ですが、それは \emph の定義の一部にすぎず、本質ではありません。

これは Web の HTML における <em>(強調)と <i>(イタリック)の違いとまったく同じ考え方です。<em> は「強調」という意味を表し、実際にどう見せるかは CSS(スタイルシート)に任せます。LaTeX も同じく、本文には \emph意味 を書き、その見た目はクラスファイル側に委ねます。これが 関心の分離(意味と体裁を分けて書く)という原則で、LaTeX 全体を貫く設計思想です。

実用上のうれしさもはっきりしています。意味で印を付けておけば、あとで「強調はイタリックではなく太字にしたい」と方針を変えても、本文には手を触れず、強調の見た目を定義する一か所を直すだけで全体に反映できます。逆に本文へ直接 \textit{...} を散りばめてしまうと、方針変更のたびに原稿中の該当箇所をすべて探して書き換える羽目になります。

`\emph` は切り替える、`\textit` は傾けるだけ

\emph のいちばん特徴的なふるまいが トグル(切り替え) です。まわりが普通の立体(ローマン)なら、\emph は中身をイタリックにします。ところが まわりがすでにイタリック だと、同じ \emph が中身を 立体に戻します。「強調を、地の文と区別がつく形で示す」という目的を、文脈に応じて自動で果たすわけです。立体の中の強調はイタリックで目立ち、イタリックの中の強調は立体で目立つ――どちらでも「まわりと違う」状態が保たれます。

対して \textit{...}無条件にイタリックにする 見た目の命令です。まわりがイタリックかどうかを気にせず、いつも傾けます。だから既にイタリックの中で \textit を使っても見た目は変わらず、強調しているはずの語が地の文に埋もれてしまいます。これが、**強調には \textit ではなく \emph を使うべき** とされる最大の理由です。\textit は「この語は書名なのでイタリックにする」のように、見た目そのものが目的のときに使います。

観点\emph\textit
role表すもの「強調」という意味(論理)イタリック体という見た目
upright立体の中でイタリックにするイタリックにする
italicイタリックの中で立体に戻す(トグル)イタリックのまま(変化なし)
declaration宣言形\em{\em ...}\itshape{\itshape ...}
use使いどころ文中の強調書名・専門用語など見た目が目的のとき

\emph{...}引数を取る命令 なのに対し、\em は同じ強調を 宣言 として行う形です。{\em 強調} のように波括弧でくくって範囲を限定して使います。\em\emph と同様に文脈に応じてイタリックと立体を切り替えます。短い語句なら引数を取る \emph{...} が扱いやすく、長い範囲なら宣言形の \em が便利です。\textit\itshape の関係も、これと同じ「命令形と宣言形」の対です。

入れ子の強調――交互に切り替わる

強調の中でさらに強調したいことがあります。\emph を入れ子にすると、トグルの性質から イタリックと立体が一段ごとに交互 になります。次の例で確かめましょう。

latex
\emph{start text \emph{middle text} end text}

このとき、外側の \emph によって start textend textイタリック になります。ところが内側の \emph{middle text} は、すでにイタリックの中にあるので 立体(ローマン)に戻りmiddle text だけが起き上がって見えます。つまり「立体 → イタリック → 立体 → …」と、ネストの深さに応じて書体が反転していきます。\textit を入れ子にしてもこうはならず、何段重ねても全部イタリックのままで、内側の強調がまったく区別できません。

もうひとつ、\emphイタリック補正(italic correction)を自動で入れます。傾いた字から立体の字へ移るとき、字面が食い込まないよう僅かな空きを補う処理です。手書きで \textit{...} と立体を並べると、この補正を \/ で自分が入れない限り字が詰まりすぎることがありますが、\emph は境目を心得ていて適切に処理してくれます。意味で印を付けるだけで、こうした細かな組版上の気配りまで付いてくるわけです。

強調の段階をカスタムする(`\DeclareEmphSequence`)

入れ子のたびにイタリックと立体が交互になるのが既定ですが、これを自由に設計できるのが **\DeclareEmphSequence です。2020 年の LaTeX で導入された比較的新しい仕組みで、強調の段階(ネストの深さ)ごとに、どの書体宣言を使うか** をカンマ区切りで並べて指定します。プリアンブルに書きます。

document.tex
\DeclareEmphSequence{\itshape,%
  \upshape\scshape,\itshape}

この例では、第 1 段階の強調を イタリック、第 2 段階を スモールキャピタル(小型大文字)、第 3 段階を イタリックのスモールキャピタル にします(その書体を持つフォントを使っている場合)。たとえば「第一級の強調は太字、その中の強調はイタリック」のように、自分の文書に合った強調の階層を組み立てられます。

  • 用意した段階より深くなったら――\emreset(既定は \ulcshape\upshape、つまり通常の立体に戻す)が使われ、その先はリストの先頭に戻って繰り返します。
  • 「賢い」判定――指定した宣言が本当に現在の書体を変えるかを確認し、変わらない場合はその段階を飛ばして次へ進みます(その書体へ手動で変更済みだとみなすため)。
  • 判定を無効化したいとき――その項目に \emforce を加えると、書体が変わらないように見えても強制的にその宣言を適用させられます。

なお、こうしたカスタムは多くの文書では不要で、既定のイタリック/立体の交互で十分です。重要なのは、見た目を変えたいときでも **本文の \emph はそのまま** でよいこと。強調の意味は本文に、その表し方はプリアンブルの一か所に――関心の分離がここでも生きています。書体そのものを変える命令の全体像は「書体を変える命令」のページにまとめてあります。