PR

【LaTeX】場合分けのかき方まとめ

LaTeX
記事内に広告が含まれています。

\LaTeX の数式において,場合分けのかき方をまとめて紹介します。

基本的に amsmath, mathtools パッケージの使用は前提とし,後半は empheq パッケージを用いた方法も紹介します。

場合分けのコマンド一覧

主な環境をまとめました。すべて数式環境の中で用います。

& 以降数式モード& 以降テキストモード
\Bigl\{ テキストスタイルcasescases*
\Bigl\{ ディスプレイスタイルdcasesdcases*
テキストスタイル \Bigr\} rcasesrcases*
ディスプレイスタイル \Bigr\} drcasesdrcases*

cases 環境は amsmath パッケージが必要で,それ以外の7つの環境は,追加で mathtools パッケージも必要です。順番に紹介しましょう。

cases環境

cases 環境は最も基本的なものです。これは,& の前に数式をかき,& 以降に場合分けの条件をかくことを想定しています。以下がその例です。

\begin{equation}
  f(x)=
  \begin{cases}
    \int_0^x g(t)\,dt & \text{if $x>0$,} \\
    0                 & \text{if $x=0$,} \\
    \frac{1}{x}       & \text{if $x<0$.}
  \end{cases}
\end{equation}
\begin{equation} f(x)=\begin{cases} \int_0^x g(x)\, dx & \text{if } x>0, \\ 0 & \text{if } x=0, \\ \frac{1}{x} & \text{if } x<0. \end{cases} \end{equation}


場合分けの中身の数式は,テキストスタイルになります(関連:【LaTeX】数式の4つのスタイル~ディスプレイ・テキストスタイル~)。また,数式番号は全体で一つです。各場合分けごとに番号を振りたい場合は,後半で解説する,empheq パッケージを用います。

cases*環境

cases 環境とほぼ同じですが,& 以降はテキストモードになるため,上のように \text{} をつける必要がなくなります。以下がその例です。

\begin{equation}
  f(x)=
  \begin{cases*}
    \int_0^x g(t)\,dt & if $x>0$, \\
    0                 & if $x=0$, \\
    \frac{1}{x}       & if $x<0$.
  \end{cases*}
\end{equation}
\begin{equation} f(x)=\begin{cases} \int_0^x g(x)\, dx & \text{if } x>0, \\ 0 & \text{if } x=0, \\ \frac{1}{x} & \text{if } x<0. \end{cases} \end{equation}


出力は先ほどと同じです。

dcases, dcases*環境

cases, cases* 環境と似ていますが,場合分けの中身の数式がディスプレイスタイルになります。

\begin{equation} f(x)=\begin{dcases} \int_0^x g(x)\, dx & \text{if } x>0, \\ 0 & \text{if } x=0, \\ \frac{1}{x} & \text{if } x<0. \end{dcases} \end{equation}

rcases, rcases*環境

cases, cases* 環境と類似ですが,場合分けの括弧が右につきます。

\begin{equation}
  \begin{rcases}
    \int_0^x g(t)\,dt & if $x>0$, \\
    0                 & if $x=0$, \\
    \frac{1}{x}       & if $x<0$.
  \end{rcases}
  =f(x)
\end{equation}
\begin{equation} \begin{rcases} \int_0^x g(x)\, dx & \text{if } x>0, \\ 0 & \text{if } x=0, \\ \frac{1}{x} & \text{if } x<0. \end{rcases}=f(x) \end{equation}

drcases, drcases*環境

rcases, rcases* 環境と類似ですが,中の数式がディスプレイスタイルになります。

\begin{equation} \begin{drcases} \int_0^x g(x)\, dx & \text{if } x>0, \\ 0 & \text{if } x=0, \\ \frac{1}{x} & \text{if } x<0. \end{drcases} =f(x)\end{equation}

より原始的なかき方

より原始的なかき方としては,\left{ ... \right. を用いて,中に aligned 環境など,数式内で用いる環境を使う方法です。

これのメリットは,(alignedalignedat 環境の場合は) & が複数使えて,より自由度が高いことです。以下の例を見てください。

\begin{equation}
  \left\{ 
  \begin{alignedat}{2}   
    10 & x+{} &  2 & y=0 \\   
    5  & x+{} & 37 & y=9 
  \end{alignedat} 
  \right.
\end{equation}
\begin{equation} \left\{ \begin{alignedat}{2} 10 & x+{} & 2 & y=0 \\ 5 & x+{} & 37 & y=9 \end{alignedat} \right. \end{equation}

& を多く使うことで,変数 x,y の位置をそろえることに成功しています。ちなみに,+ の後の {} は,+ を二項演算子と認識させるためのものです。

empheqパッケージを用いた場合分け

ここからは,empheq パッケージを用いた場合分けをみます。上の例と異なり,各式に数式番号が打てるのがポイントです。\usepackage{empheq} としてください。これを使うと,amsmath, mathtools パッケージは暗黙的に読み込まれます。

似たようなことは cases パッケージでも可能ですが,これは参照した数式のみに番号を振る \mathtoolsset{showonlyrefs=true} と共存できないため,今回は紹介しないことにします。

empheq パッケージは,emphasize equations の意味で,本来は数式を強調するためのパッケージです。これを場合分けとして用いるには,

\begin{empheq}[left={f(x)=\empheq<delim-name>}]{<AMS-env name>}

\end{empheq}

のようにします。たとえば,

\begin{empheq}[left={f(x)=\empheqlbrace}]{alignat=2}
  & \int_0^x g(x)\,dx &\qquad &\text{if $x>0$,} \\
  & 0                 &       &\text{if $x=0$,} \\
  & \frac{1}{x}       &       &\text{if $x<0$}
\end{empheq}
empheqパッケージを用いた場合分けの記述

のような感じです。数式番号が別々につきましたね。中身はディスプレイスタイルになります。

<AMS-env name> には alignalignat=2gather といった,amsmath パッケージで定義された環境を入れ,環境内の数式はその形式でかきます(関連記事:【LaTeX】数式環境まとめ【amsmath】)。

\empheq<delim-name> には,どの括弧を使うか指定します。選べるものは,以下の通りです。

括弧自動サイズ調整の括弧より大きいサイズの括弧
\{\empheqlbrace\empheqbiglbrace
\} \empheqrbrace\empheqbigrbrace
[ \empheqlbrack\empheqbiglbrack
] \empheqrbrack\empheqbigrbrack
\langle \empheqlangle\empheqbiglangle
\rangle \empheqrangle\empheqbigrangle
( \empheqlparen\empheqbiglparen
) \empheqrparen\empheqbigrparen
\lvert \empheqlvert\empheqbiglvert
\rvert \empheqrvert\empheqbigrvert
\lVert \empheqlVert\empheqbiglVert
\rVert \empheqrVert\empheqbigrVert
\lfloor \empheqlfloor\empheqbiglfloor
\rfloor \empheqrfloor\empheqbigrfloor
\lceil \empheqlceil\empheqbiglceil
\rceil \empheqrceil\empheqbigrceil

オプションで,[left=...] の代わりに [right=...] とすれば,右に括弧をつけることも可能です。例をみましょう。

\begin{empheq}[left={f(x)=\empheqlbrace},right={\empheqrbrace\implies P}]{alignat=2}
  & g(x) &\quad &\text{$x\ge 0$のとき} \\
  & h(x) &\quad &\text{$x<0$のとき}
\end{empheq}
empheqパッケージを用いた場合分けの例2

関連する記事

参考

  1. 場合分けをきれいに書く – Qiita
  2. empheq – EMPHasizing EQuations