分割環境内の複数行の式

分割環境内の複数行の式

=環境内に整列した一連の方程式がありますsplit。(実際にはすべて同じ方程式なので、最初の方程式以外のすべての方程式の左辺が欠落しています。)

残念ながら、最後の数式は非常に長く、1 行に収まりません。分割する必要があります。規則が何なのかわかりませんが、右揃えにすべきだと思います。どのようにすればよいですか?

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{split}
  x &= a + a \\
  &= b + b + b + b \\
  &= c + c + c + c + c + c + c + c + c + c + c + c \\
% obviously does not work
  \hfill + c + c + c + c + c + c + c + c + c + c 
\end{split}
\]
\end{document}

答え1

活用できるmathtools'multlined環境:

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
  x &= a + a \\
    &= b + b + b + b \\
    &= \!\begin{multlined}[t]
       c + c + c + c + c + c + c + c + c + c + c + c \\
         + c + c + c + c + c + c + c + c + c + c
     \end{multlined}
   \end{split}
\]
\end{document}

出力1

注:\!環境の前の は、=との間に正しい間隔を確保するためのものですc

オプションの引数として、2 行の合計幅 (最初の行の左余白から最後の行の右余白まで) を指定することもできますmultlined

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
  x &= a + a \\
    &= b + b + b + b \\
    &= \!\begin{multlined}[t][10cm]
       c + c + c + c + c + c + c + c + c + c + c + c \\
         + c + c + c + c + c + c + c + c + c + c
     \end{multlined}
   \end{split}
\]
\end{document}

出力2

2 行を右揃えにしたい場合は、グローバルまたはローカルでmathtoolsキーfirstline-afterskipを に設定できます。0pt

\documentclass[border=5pt,preview]{standalone}
\usepackage{amsmath,mathtools}
\begin{document}
\mathtoolsset{firstline-afterskip=0pt}
\[
\begin{split}
  x &= a + a \\
    &= b + b + b + b \\
    &= \!\begin{multlined}[t]
       c + c + c + c + c + c + c + c + c + c + c + c \\
         + c + c + c + c + c + c + c + c + c + c
     \end{multlined}
   \end{split}
\]
\end{document}

出力3

答え2

標準的かつ最も簡単な方法は、単に線を追加してsplit、たとえば 1 つの四角形だけ右に移動するだけです。これは、位置合わせを気にしない、私が好む方法です。

あるいは、multlinedfrom を使用しますmathtools:

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
x &= a + a \\
  &= b + b + b + b \\
  &= c + c + c + c + c + c + c + c + c + c + c + c \\
  &\qquad + c + c + c + c + c + c + c + c + c + c
\end{split}
\]
\[
\begin{split}
x &= a + a \\
  &= b + b + b + b \\
  &= \mathtoolsset{firstline-afterskip=0pt}
     \!\begin{multlined}[t] % <---- don't forget \!
     c + c + c + c + c + c + c + c + c + c + c + c \\
       + c + c + c + c + c + c + c + c + c + c
     \end{multlined}
\end{split}
\]
\end{document}

ここに画像の説明を入力してください

答え3

たとえば、スタックを使用できます。行の高さが均一であれば、次のように機能します。

\documentclass{article}
\usepackage{amsmath,stackengine}
\stackMath
\begin{document}
\[
\begin{split}
  x &= a + a \\
  &= b + b + b + b \\
  &= \stackengine{\baselineskip}{c + c + c + c + c + c + c + c + c + c + c + c}
  {{}+ c + c + c + c + c + c + c + c + c + c}{U}{r}{F}{F}{L}
\end{split}
\]
\end{document}

ここに画像の説明を入力してください

積み重ねられた行の高さが標準でない場合は、次のようになります。

\documentclass{article}
\usepackage{amsmath,stackengine}
\stackMath
\begin{document}
\[
\begin{split}
  x &= a + a \\
  &= b + b + b + b \\
  &= \stackengine{5pt}{c + c + c + c + \dfrac{a}{b} + c + c + c + c + c + c + c}
  {{}+ c + \dfrac{c}{d} + c + c + c + c + c + c + c + c}{U}{r}{F}{F}{S}
\end{split}
\]
\end{document}

ここに画像の説明を入力してください

これは の 5 番目の引数で\stackengine、 によって与えられ{r}、スタックの配置を定義します。他のオプションは{l}およびです{c}

関連情報