非常に長い方程式の複数の行に一度にラベルを付けようとしています。この質問私は次のような最小限の例を思いつきました:
\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 の行間隔が追加されます。