8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[LaTeX] 改行を含む括弧の大きさを揃える

Posted at

やりたいこと

$$a \left( \sum \text{長い数式} + \text{長い数式} \right)$$

a \left( \sum \text{長い数式} + \text{長い数式} \right)

というタイプの数式を適切に改行したい。

案1 安直に改行する

\begin{align}
	a \left( \sum \text{長い数式} 
	\\
	+ \text{長い数式} \right)
\end{align}

このようにすると

Undefined control sequence.

とエラーが出てしまいます。
これは\left(\right)の間で改行を挟んだためです。
そこで次の案を検討します。

案2 \left., \right. を使う

\begin{align}
	a \left( \sum \text{長い数式} \right.
	\\
	\left. + \text{長い数式} \right)
\end{align}

texclip20241110144513.png

確かに改行は出来ています。
しかし括弧の大きさが不揃いであり見栄えが悪いです。

この問題は $\sum$ \sum の上下に文字を配置すると一層顕著となります。

texclip20241110144536.png

この問題に対処するのが本記事の目的です。

解決策1 大きさが固定されている括弧を使う

\begin{align}
	a \Big( \sum \text{長い数式} \right.
	\\
	\left. + \text{長い数式} \Big)
\end{align}

texclip20241110144346.png

上手くできています。
しかし括弧の中身に合わせて一々大きさを揃えるのは手間です。
せっかくなので大きさを自動制御してくれる括弧 \left( を使った方法を考えましょう。

解決策2 \phantom でダミーの空白を入れる

いよいよ本命の方法を紹介します。
\vphantom{hoge} というコマンドは hoge と同じ高さで幅が0の空白を挿入する効果があります。
これを使い、 $\sum$ \sum と同じ高さで幅が0の空白を挿入するのです。

なお、 \vphantom や関連するコマンドの \phantom, \hphantom の使いかたは [LaTeX] \phantom でいい感じに揃える が非常に参考になります。

\begin{align}
	a \left( \sum \text{長い数式} \right.
	\\
	\left. + \vphantom{\sum} \text{長い数式} \right)
\end{align}

texclip20241110145142.png

$\sum$ \sum の上下に文字がある場合も同様です。

\begin{align}
	a \left( \sum_{n=1}^\infty \text{長い数式} \right.
	\\
	\left. + \vphantom{\sum_{n=1}^\infty} \text{長い数式} \right)
\end{align}

texclip20241110145010.png

これで改行を含む括弧の大きさを揃えることが出来ました!

応用

\begin{align}
A &= ab \\
&= a \left( \sum \text{長い数式} + \text{長い数式} \right)
\end{align}

のように、 align 環境中で &= を用いて $=$ で揃えている状況で、括弧の内部で改行することを考えてみます。

上のように \vphantom を用いてみます。

\begin{align}
A &= ab 
\\
&= a \left( \sum \text{長い数式} \right. 
\\
& \left. \vphantom{\sum} + \text{長い数式} \right)
\end{align}

texclip20241110150929.png

するとこのように、最後の行の開始位置が左に行き過ぎてしまいます。
このようなことが起こってしまうのは &= を用いて $=$ のところで揃えているためです。

左括弧の真下から最後の行を開始するには、その分の空白を \phantom を用いて空けてあげれば良いです。
(このテクニックを筆者は上述した記事 [LaTeX] \phantom でいい感じに揃える, 少し凝った例 で知りました。)

\begin{align}
A &= ab 
\\
&= a \left( \sum \text{長い数式} \right. 
\\
&\phantom{{}= a \left( \right.} 
\left. \vphantom{\sum} + \text{長い数式} \right)
\end{align}

texclip20241110151942.png

これで万事解決です!

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?