【LaTeX】長い数式の折り返し
長い数式を打ちたかった
数値計算の式を打ち込んでいると,どうしても差分形式の式を書かねばならず,そんな時に式が長くなりがちでした. すると必然的に式が長くなって紙からはみ出してしまう.それを解消.
最初にヒットした方法
例えばこの方法 www.irohabook.com
どうやらsplitコマンドなるものを使えば解決することができそうだ.ということで試したのはこちら.
\begin{equation} \begin{split} u^*_{i,j} = &u^n_{i,j} - \Delta t \left\{u^n_{i,j}\frac{u^n_{i+1,j} - u^n_{i-1,j}}{2\Delta x} + v^n_{i,j}\frac{u^n_{i,j+1} - u^n_{i,j-1}}{2\Delta y} + \\ &\frac{1}{Re}\left(\frac{u^n_{i+1,j} - 2u^n_{i,j} + u^n_{i-1,j}}{(\Delta x)^2} + \frac{u^n_{i,j+1} - 2u^n_{i,j} + u^n_{i,j-1}}{(\Delta y)^2}\right) \right\} \end{split} \end{equation}
だがエラーがでた
なにやらエラーが,それがこれ.
Extra }, or forgotten \right. [\end{split}]
考えてみるに,途中で強制改行\\
をしているせいで,大きい一つの括弧が二つの数式に分けて考えられ,その結果left\{
と\right\}
の対応が取れなくなってしまったらしい.
解決
でどうしようかと思っていたら英語で検索したらいいパッケージを見つけることができた.
これに基づいて再度書きなおしたのがこれ
\documentclass{article} \usepackage{breqn} \begin{document} \begin{dmath} v^*_{i,j} = v^n_{i,j} - \Delta t \left\{u^n_{i,j}\frac{v^n_{i+1,j} - v^n_{i-1,j}}{2\Delta x} + v^n_{i,j}\frac{v^n_{i,j+1} - v^n_{i,j-1}}{2\Delta y} + \frac{1}{Re}\left(\frac{v^n_{i+1,j} - 2v^n_{i,j} + v^n_{i-1,j}}{(\Delta x)^2} + \frac{v^n_{i,j+1} - 2v^n_{i,j} + v^n_{i,j-1}}{(\Delta y)^2}\right) \right\} \end{dmath} \end{document}
するとこんな感じになる.
うん,まぁいい感じ.