長い数式の自動?改行について

長い数式の自動?改行について

- 赤名 完治 の投稿
返信数: 1

最近お世話になっております。

先日もたくさんの方にアドバイスをいただき、この場を借りてお礼申し上げます。
ありがとうございました。たいへん参考になりました。

で、今回なのですが、みだしの通り、
1行の数式が長くなるとき、自動で折り返してくれるようなコマンドはないのでしょうか?

やはり、折り返すならココ、というように場所を決めなければいけないのでしょうか?

初歩的なことで申し訳ありませんが、ご教示よろしくお願いいたします。

赤名 完治 への返信

Re: 長い数式の自動?改行について

- 和田 勇 の投稿
「LaTeX 長い数式 改行」などで検索すると autobreak と dmath (breqn で利用可)が見つかります。

autobreak breqn はtexdoc を利用するか以下の URL を参考にしてください。
いくつか改行のスタイルの実現方法も記されているので参考になると思います。
http://ctan.mirrors.hoobly.com/macros/latex/contrib/autobreak/autobreak.pdf
http://tug.ctan.org/macros/latex/contrib/breqn/breqn.pdf

さて「1行の数式が長くなるとき、自動で折り返し」ということですと dmath を使われた方が良いかなと思っています。
autobreak.pdfで表示される「3 Caveats (注意事項)」の7 ページ後半の説明から判断しています。ざっくりいうと途中に改行がないと思った通り動かない。上記ドキュメントに長い数式がいくつかありますので、一行にしてやってみてください。

概略の使用方法は以下を参照してください。

* autobreak を使う場合
******

\documentclass{jsarticle}
\usepackage{amsmath}
\usepackage{autobreak}

\begin{document}

\section{一行がとても長い数式の例}
\begin{align}
\begin{autobreak}
長〜〜〜………〜〜い式 % autobreak 思い通りに動かない
\end{autobreak}
\end{align}

\section{とても長い数式だけど適宜改行した場合の例}
\begin{align}
\begin{autobreak}
部分1 = 部分2
    部分3
    ………
    部分n
\end{autobreak}
\end{align}

\end{document}

*dmath(breqn) を使う場合
*****

\documentclass{jsarticle}
\usepackage{breqn}
\begin{document}

\begin{dmath}
長〜〜〜………〜〜い式 % dmath では自動改行される
\end{dmath}

\end{document}

PS:
一行の長い数式を後日デバッグするのは辛いので、個人的には
わかりやすく適宜改行したり、類似のものを上下に並べるなど
「人に優しい」記述の方が良いと考えています。