括弧類(\left \right)

数式の括弧や縦線は、中身が背の高い分数や行列になると、もとの大きさのままでは間が抜けて見えます。LaTeX には括弧を中身の高さに合わせて自動で伸ばす **\left\right と、四段階の大きさを手で選ぶ \big \Big \bigg \Bigg** という二つの道具があります。このページでは、両者の使い分け、片側だけ消す「見えない括弧」、伸びる仕切り線 \middle、そして括弧記号の一覧を整理します。

自動で伸びる `\left` … `\right`

もっとも手軽なのが、括弧の前に \left、閉じ括弧の前に \right を置く書き方です。LaTeX が中身の高さを測り、それをちょうど覆う大きさ まで括弧を伸ばします。\left\right直後に書いた文字が実際の括弧 で、丸括弧なら ( )、角括弧なら [ ]、波括弧は(後述のとおり)\{ \}、山括弧は \langle \rangle を続けます。

latex
\[
  \left( \frac{a^2 + b^2}{c^2} \right)
  \qquad
  \left[ \sum_{k=1}^{n} \frac{1}{k} \right]
\]

前者は、背の高い分数を囲むように丸括弧が上下に伸び、分数の高さにぴったり合います。素のまま ( \frac{a^2+b^2}{c^2} ) と書くと、括弧は通常の一文字分の高さしかなく、大きな分数の脇に小さな括弧が浮いてしまいます。後者も同様に、総和記号を含む中身に合わせて角括弧が伸びます。

大切な約束が二つあります。第一に、**\left\right は必ず対で使います。片方を書き忘れるとコンパイルエラーになります。第二に、対になる括弧は 同じ種類でなくてもかまいません**。\left( … \right] のように丸括弧で開いて角括弧で閉じる、いわゆる半開区間の記法も書けます。なお \left\right で囲んだ範囲は一つのまとまり(グループ)になり、その内側では出力に改行を入れられません。長い数式を途中で折り返したいときは、整列環境の各行で対を完結させる必要があります。

便利な一方で、\left\right は中身に合わせて少し大きめの括弧を選ぶ傾向があり、また括弧の前後に内側ノード(inner atom)としての空きが入るため、関係子や演算子としての細かな間隔調整が効きにくい場面があります。常用すると括弧が過剰に大きく見えたり、複数行で大きさがそろわなかったりするので、後述の手動サイズと使い分けます。

見えない括弧(`.` による片側省略)

\left\right は必ず対で書く必要がありますが、片側だけ括弧を出したくない ことがあります。そのときは、括弧を出さない側の \left または \right の直後に **ピリオド .** を置きます。. は「何も描かない括弧(ヌル・デリミタ)」として扱われ、対の規則は満たしつつ、その側には何も表示されません。

latex
\[
  \left. \frac{dy}{dx} \right|_{x=0}
  \qquad
  \left. \frac{x^3}{3} \right|_{0}^{1}
\]

これは、評価の縦棒(「…を x=0 で評価する」)を作る定番の使い方です。左側の \left. は何も描かず、右側の \right| だけが中身の高さに合わせて伸びた縦線になり、その右下に x=0 が付きます。二つ目の例では、x^3/3 という分数の高さに合わせて縦線が伸び、下端に 0、上端に 1 が付いた、定積分の評価でおなじみの形になります。f(x) \big|_{0}^{1} のように手動サイズの縦棒を使う書き方もあり(次節)、こちらは対の \left を必要としません。

伸びる仕切り線 `\middle`

集合の内包的記法 { x | 条件 } のように、外側の括弧の 内側に縦線などの仕切りを置き、それも括弧と同じ高さまで伸ばしたい ことがあります。\left\right の間には、**\middle に続けて任意の区切り記号** を、いくつでも置けます。\middle| と書けば、外側の括弧と同じ高さに伸びた縦線が中央に入ります。

latex
\[
  \left\{\, x \in \mathbb{R} \;\middle|\; x^2 < \frac{1}{2} \,\right\}
\]

この例では、外側の波括弧が中身(背の高い分数を含む)に合わせて伸び、\middle| の縦線も同じ高さまで伸びて、左右の条件をきれいに仕切ります。素の | を使うと縦線が一文字分の高さに留まり、伸びた波括弧との対比でいかにも小さく見えてしまいます。なお \middle\left/\right と組でしか使えません(単独では使えません)。

手動サイズ `\big` `\Big` `\bigg` `\Bigg`

括弧の大きさを 自分で四段階から選ぶ のが \big \Big \bigg \Bigg です。この順に大きくなり、\big( のように直後に括弧記号を続けます。\big は通常の括弧よりわずかに大きい程度で、本文中(インライン)でも行間を広げずに使えます。\Big はおよそ 1.5 倍、\bigg\Bigg はさらに大きく、別行立ての数式向きです。

なぜ自動の \left\right ではなく手動を選ぶのでしょうか。理由はおもに三つです。第一に、複数行で大きさをそろえられる こと。\left\right は行ごとに中身の高さで大きさが変わるため、並んだ式で括弧の高さがばらつきがちですが、手動なら全行を同じ段階に固定できます。第二に、過大な括弧を避けられる こと。中身がほんの少し高いだけで \left\right が一段大きい括弧を選んでしまう場面でも、\big 程度に抑えられます。第三に、間隔(スペーシング)の制御 で、これは次の l/r 付きが鍵になります。

\big などの 裸の形 は、括弧を「ふつうの記号(ordinary atom)」として組むため前後に余分な空きが入ります。これを開き括弧・閉じ括弧として正しく組むには、**開きには \bigl、閉じには \bigr** を使います(l は left、r は right の意で、各サイズに \Bigl/\Bigr\biggl/\biggr\Biggl/\Biggr があります)。l/r 付きは「開き/閉じ括弧」として扱われ、前の項との間に不要な空きを入れません。さらに、内包的記法の縦線のように 関係子として中央に置く には \bigm| のような m(middle)付きを使うと、関係子としての適切な空きが前後に入ります。

latex
\[
  \bigl( a \bigr)
  \quad
  \Bigl( b \Bigr)
  \quad
  \biggl( c \biggr)
  \quad
  \Biggl( d \Biggr)
\]
\[
  \biggl\{\, x \bigm| x > 0 \,\biggr\}
\]

一行目は、同じ丸括弧が左から右へ段階的に大きくなる様子を示します(中身の高さによらず、指定した段階の高さで組まれます)。二行目は、\biggl\{\biggr\} で大きさを固定した波括弧の中に、\bigm| の縦線を関係子として置いた内包的記法です。手動サイズは、たとえば入れ子の括弧 \bigl( \Bigl[ \,\cdots\, \Bigr] \bigr) を、内側を一段大きくして見分けやすくする、といった用途にも向きます。

括弧記号の一覧

\left/\right\big 系の直後に置ける主な区切り記号を表にまとめます。丸括弧・角括弧・スラッシュはキーから直接打てますが、**波括弧は { } が LaTeX の予約文字なので、数式中でも括弧として出すには \{ \} と書きます**。縦線は単線が |\vert も同じ)、二重線が \|\Vert も同じ)です。

命令出力備考
( )丸括弧キーから直接。最も一般的
[ ]角括弧キーから直接。\lbrack \rbrack も同じ
\{ \}波括弧{ } は予約文字。括弧には \{ \} と書く
\langle \rangle山括弧内積やブラ・ケットに。< > とは別物
| 単縦線絶対値など。\vert も同じ
\|二重縦線ノルムなど。\Vert も同じ
\lfloor \rfloor床関数の括弧切り捨て(最大の整数)
\lceil \rceil天井関数の括弧切り上げ(最小の整数)
\backslash逆斜線商集合などに。/ は対の右側に
\uparrow \downarrow上向き・下向き矢印\Uparrow \Downarrow は二重線。\updownarrow もある
\lgroup \rgroup丸い角の大括弧太めの丸括弧状。大きな表示向き
\lmoustache \rmoustache大波括弧の上下半分特殊な伸縮区切り

絶対値・ノルムと `\DeclarePairedDelimiter`

絶対値やノルムでは、単に |x| \|x\| と書くと、| が左右どちらの括弧かを LaTeX が判断できず、間隔がずれることがあります。amsmath は左右を区別する命令を用意していて、絶対値の **開き \lvert / 閉じ \rvert、ノルムの 開き \lVert / 閉じ \rVert** を使うと、開き・閉じ括弧として正しい間隔で組まれます。

とはいえ毎回 \left\lvert … \right\rvert と書くのは煩雑です。mathtools パッケージ\DeclarePairedDelimiter を使えば、開き括弧・閉じ括弧・自動サイズ・手動サイズをまとめて一つの命令にできます。プリアンブルで定義しておくと、本文では \abs{x} \norm{v} と書け、**星付きの \abs*{…} \norm*{…} は内部で \left\right を呼んで中身に合わせて伸びます**。星なしは通常サイズ、[\big] などの省略可能引数で手動サイズも選べます。

document.tex
\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}

% 本文では:
\[
  \abs{x} \le \abs*{\frac{a}{b}}, \qquad \norm*{\frac{v}{2}}
\]

ここで \abs{x} は通常サイズの絶対値、\abs*{\frac{a}{b}} は分数の高さに合わせて伸びた縦線で囲まれた絶対値になります。\norm*{…} も同様に、二重縦線が中身に合わせて伸びます。同じ括弧を文書中で何度も使うなら、このように一度定義してしまうのが確実で、間隔も大きさも一貫します。詳しくは mathtools のページを参照してください。