我正在格式化一个方程式,我的代码是:
\begin{equation}
\begin{split}
&\bra{[\mu]_n+e_j}\bra{[\mu] _{n-1}+e_{j^\prime}} \Phi \ket{[\mu]_n}\ket{[\mu]_{n-1}}\\
&= \begin{cases}S(j^\prime - j) \left[\frac{\prod \limits_{s \in [d-1]\backslash j^\prime}(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})\prod\limits_{t \in [d]\backslash j}(\tilde{\mu}_{j^\prime,n-1}- \tilde{\mu}_{t,n}+1) }{\prod \limits_{s \in [d-1]\backslash j^\prime}(\tilde{\mu}_{j^\prime,n-1}-\tilde{\mu}_{s,n-1}+1) \prod\limits_{t \in [d]\backslash j}(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})}\right]^{\frac{1}{2} } & \text { if } j^{\prime} \in\{1, \ldots, d-1\} . \\
S(d-j) \left[\frac{\prod_{s \in [d-1]} (\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})}{\prod_{t \in [d]\backslash j}(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})} \right]^{\frac{1}{2}} & \text { if } j^{\prime}=0 .\end{cases}
\end{split}
\end{equation}
输出为:
如果放到双折叠格式下就会过满(其实我不知道这种格式怎么称呼,大家可以看图):
我尝试拆分公式,我的解决方案是在“if”之前拆分它。但结果很奇怪,很混乱。我不知道如何处理这个问题。
答案1
我建议您只引入一个额外的换行符,方法是将环境中的内容封装cases
在环境中aligned
。而且,我会使用\smashoperator[r]
指令将乘法项“贴合”到各自的\prod
符号中。另外,我看不出有什么正当理由要写成^\prime
而不是'
。
\documentclass{article}
\usepackage{mathtools} % for \smashoperator and \DeclarePairedDelimiter macros
\DeclarePairedDelimiter\bra\langle\rvert
\DeclarePairedDelimiter\ket\lvert\rangle
\begin{document}
\begin{equation}
\begin{split}
&\bra[\big]{[\mu]_n+e_j} \bra[\big]{[\mu]_{n-1} +e_{j'}} \Phi
\ket[\big]{[\mu]_n} \ket[\big]{[\mu]_{n-1}}\\
&= \begin{cases}
\begin{aligned}
S(j'-j)
&\left[\frac{
\smashoperator[r]{\prod\limits_{s\in[d-1]\setminus j'}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})
\smashoperator[r]{\prod\limits_{t \in [d]\setminus j}}
(\tilde{\mu}_{j',n-1}- \tilde{\mu}_{t,n}+1) }{
\smashoperator[r]{\prod\limits_{s\in[d-1]\setminus j'}}
(\tilde{\mu}_{j',n-1}-\tilde{\mu}_{s,n-1}+1)
\smashoperator[r]{\prod\limits_{t \in [d]\setminus j}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})}
\right]^{\frac{1}{2} } \\[\jot]
& \quad\text{if $j' \in\{1, \ldots, d-1\}$;} \\[2\jot]
S(d-j)
&\left[\frac{
\prod_{s \in [d-1]}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})}{
\prod_{t \in [d]\setminus j}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})}
\right]^{\frac{1}{2}}
\qquad\text{if $j'=0$\,.}
\end{aligned}
\end{cases}
\end{split}
\end{equation}
\end{document}
答案2
我不认为那split
是cases
正确的工具。
这里我使用了两列array
;在第一行中,各列被合并,并且在末尾添加了一些额外的空间(在这种情况下,需要一些视觉格式);第一种情况的附带条件在下一行设置,但与第二种情况的附带条件对齐。
\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{braket}
\usepackage{array,booktabs}
\usepackage{showframe}
\begin{document}
\begin{multline}
\bra{[\mu]_n+e_j}\bra{[\mu] _{n-1}+e_{j'}} \Phi \ket{[\mu]_n}\ket{[\mu]_{n-1}}\\[1ex]
= \left\lbrace
\begin{array}{@{}>{\displaystyle}l@{\hspace{4em}}l@{}}
\multicolumn{2}{@{}>{\displaystyle}l@{}}{%
S(j' - j)
\left[
\frac{
\smashoperator[r]{\prod \limits_{s \in [d-1]\setminus\{j'\}}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})
\smashoperator{\prod\limits_{t \in [d]\setminus\{j\}}}
(\tilde{\mu}_{j',n-1}- \tilde{\mu}_{t,n}+1)
}{
\smashoperator[r]{\prod \limits_{s \in [d-1]\setminus\{j'\}}}
(\tilde{\mu}_{j',n-1}-\tilde{\mu}_{s,n-1}+1)
\smashoperator{\prod\limits_{t \in [d]\setminus\{j\}}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})
}
\right]^{1/2}\hspace*{2em}
}
\\ \addlinespace
&\text{if } j' \in\{1, \ldots, d-1\},
\\[3ex]
S(d-j)
\left[
\frac{
\smashoperator[r]{\prod\limits_{s \in [d-1]}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n-1})
}{
\smashoperator[r]{\prod\limits_{t \in [d]\setminus\{j\}}}
(\tilde{\mu}_{j,n}-\tilde{\mu}_{s,n})
}
\right]^{1/2}
&\text{if } j'=0.
\end{array}
\right.
\end{multline}
\end{document}
该showframe
包仅用于直观地格式化结果。
^\prime
或者^{\prime}
可以用更简单的方法来代替'
;\backslash
产生一个普通符号,该操作符号称为\setminus
;- 我在 之后的操作数中添加了括号
\setminus
。