align環境内の配列のフォントサイズを変更する

align環境内の配列のフォントサイズを変更する

非常に長い方程式の複数の行に一度にラベルを付けようとしています。この質問私は次のような最小限の例を思いつきました:

\documentclass{report}
\usepackage[onehalfspacing]{setspace}
\usepackage{amsmath}
\begin{document}
\begin{align*}
    x &= \sum_i c_i X_i \\
    &\left. \def\arraystretch{1.5}
    \begin{array}{l}
    + \sum_i c_i Y_i \\
    +\sum_i c_i Z_i 
    \end{array} 
    \right\} \tag{From (1)} \\
\end{align*}
\end{document}

生成する

最小限の例

ご覧のとおり、配列の行間隔がデフォルトで align* よりも小さくなるという事実を修正しようとしました。ただし、フォント サイズを一致させることはできず、行間隔もそれほど良くありません。begingroup、endgroup を使用してみましたが、うまくいかないようです。この点についてご助力いただければ幸いです。

答え1

私があなたの問題を正しく理解していれば、mathtools'drcases環境 (d表示スタイル、中r括弧が右側にあることを意味します):

\documentclass[preview]{standalone}
\usepackage{mathtools}
\begin{document}
\begin{align*}
    x &= \sum_i c_i X_i \\
      &\hphantom{={}}\!\begin{drcases} % <--- \! is to get correct spacing/alignment
          + \sum_i c_i Y_i \\
          + \sum_i c_i Z_i 
        \end{drcases} 
    \tag{From (1)} \\
\end{align*}
\end{document}

出力

数式と中括弧の間にさらにスペースが必要な場合は、\quad 最長の行の末尾に (または任意のスペース) を追加します。

\documentclass[preview]{standalone}
\usepackage{mathtools}
\begin{document}
\begin{align*}
    x &= \sum_i c_i X_i \\
      &\hphantom{={}}\!\begin{drcases} % <--- \! is to get correct spacing/alignment
          + \sum_i c_i Y_i \quad\\
          + \sum_i c_i Z_i 
        \end{drcases} 
    \tag{From (1)} \\
\end{align*}
\end{document}

より広いスペースで出力

もう 1 つの可能性 (あまり「自動的」ではない) は、\\のように、 の後に角括弧で追加の行間隔を指定することです\\[.5em]。これにより、終了する行の後に 0.5 em の行間隔が追加されます。

関連情報