以下のような注釈付きの方程式のリストがあります:
\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
aaaa &= 1 &&\text{for $X$} \\
bbbb &= 1 &&\text{for $Y$} \\
c &= 1 &&\text{for $Z$} \\
d &= 12 &&\text{for $Z$}
\end{align}
\end{document}
最後の 2 行には同じ注釈があるため、次のように、そこに中括弧を追加し、中括弧の横に注釈を配置します。
\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
\left. \begin{aligned}
c &= 1 \\
d &= 12 \\
\end{aligned} \right\} &&\text{for $Z$}
\end{align}
\end{document}
これを元のコードに当てはめると、次のようなものになります。
\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
aaaa &= 1 &&\text{for $X$} \\
bbbb &= 1 &&\text{for $Y$} \\
\left. \begin{aligned}
c &= 1 \\
d &= 12 \\
\end{aligned} \right\}& &&\text{for $Z$}
\end{align}
\end{document}
うまくいかないのは等号の配置です。配置された環境内の等号同士しか配置できず、環境外の等号同士は配置できません。
また、align 環境でコンテンツを 3 行として扱い、そのように番号を付けることも希望します。
これはQに対する追加の質問です:内側に揃える行番号なしの問題の解決策が示されました。同様の問題が Q: で議論されました。整列した数式ブロック間の整列-- ただし、このソリューションでは配列環境が使用されているため、行番号付けもできません。
前もって感謝します。
答え1
の解決Barbara Beeton が指摘した質問に対する答えは、ほぼ正しいアイデアです。実際、番号を付けたい各オブジェクトをそれぞれ独自の に配置することで、この解決策を使用できますaligned
。ただし、これはかなりの作業であり、次のバリエーションで十分に機能するようです。
\documentclass{scrartcl}
\usepackage{amsmath}
\newlength{\myleftlen}
\newcommand{\setmyleftlen}[1]{\settowidth{\myleftlen}{\( \displaystyle
#1\)}}
\newcommand{\backup}{\hskip-\myleftlen\mkern-7mu}
\begin{document}
\setmyleftlen{ddd}
\begin{align}
aaaa &= 1 &&\text{for $X$} \\
bbbb &= 1 &&\text{for $Y$} \\
&\left.\backup\begin{aligned}
c &= 1 \\
ddd &= 12 \\
\end{aligned} \right\} &&\text{for $Z$}
\end{align}
\end{document}
が開始する前に、環境\setmyleftlen
内で最も長い左辺で を呼び出す必要があります。コードでは、ブロックをこの量に加えて追加の だけ左に移動します。この量は推測ですが、AMS 数学コマンドで使用される他の値と一致するようです。(数学単位) で表現されているため、他のポイント サイズにうまく対応します。aligned
align
aligned
7mu
7mu
mu
答え2
これは、@AndrewSwann の回答の改良版です。ddd
例の をかなり大きなものに置き換えて、魔法の を取り除けば、 は適切にスケールします7mu
。 ネストする方法を示す例も追加しました。
\documentclass[preview]{standalone}
\usepackage{amsmath}
\usepackage{calc}
\usepackage{xparse}
\newlength\mytemplena
\newlength\mytemplenb
\DeclareDocumentCommand\myalignalign{sm}
{
\settowidth{\mytemplena}{$\displaystyle #2$}%
\setlength\mytemplenb{\widthof{$\displaystyle=$}/2}%
\hskip-\mytemplena%
\hskip\IfBooleanTF#1{-\mytemplenb}{+\mytemplenb}%
}
\begin{document}
\begin{align}
a &= 1\\
bb &= 1\\
\myalignalign{eeeeee} &\left.
\myalignalign*{eeeeee}
\begin{aligned}
\myalignalign{dddd} &\left.
\myalignalign*{dddd}
\begin{aligned}
ccc &= 1 \\
dddd &= 123\\
\end{aligned} \quad
\right\} Z1,Z2\\
eeeeee &= 12345678\\
\end{aligned} \quad
\right\} Z1,Z2,Z3
\end{align}
\end{document}