我有这些对齐的方程,我希望它们只有一个方程编号。我发现这可以通过aligned
在 中嵌入环境来简单地解决equation
,但现在我有一个公式,最后一行太长,无法在右侧添加方程编号。这导致方程编号(如果垂直居中,它实际上可以很好地放在右侧)被包裹在方程下方。
\documentclass[12pt, oneside]{scrbook}
\usepackage{amsmath}
\DeclareMathOperator{\E}{E}
\newcommand{\with}{\;;}
\newcommand{\dx}[1]{\mathop{\mathrm{d}#1}}
\newcommand{\expect}[2][]{\E_{#1} \left[#2\right]}
\begin{document}
\begin{equation}
\begin{aligned}
\mu_{D_-} & = \expect{f'(S_-) \cdot \sum_{i=1}^{N} W D} \\
& = N \mu_W \mu_D \int_{-\infty}^{\infty} f'(s) p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} \\
\sigma_{D_-}^2 & = \expect{f'(S_-)^2 \cdot \left(\sum_{i=1}^{N} W D\right)^2} - \mu_{D_-}^2 \\
& = N \left(\sigma_W^2 \sigma_D^2 + \mu_W^2 \sigma_D^2 + \sigma_W^2 \mu_D^2 + N \mu_W^2 \mu_D^2\right) \int_{-\infty}^{\infty} f'(s)^2 p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} - \mu_{D_-}^2 \,.
\end{aligned}
\end{equation}
\end{document}
这让我有点困扰,我想知道在这种情况下是否有办法强制垂直居中方程数字。我发现这个答案,但我尝试缩短该表达式的所有方法均未成功。我还想将最后一个表达式保留在一行中,以与文档的其余部分保持一致。
尽管我的最后一个表达式太长,但是否有任何方法可以强制方程编号垂直居中在右侧?或者是否有任何技巧可以让方程相信该aligned
部分没有实际那么长,以便方程编号垂直居中显示在右侧(在太长的方程上方)?
答案1
在这种情况下,视觉格式化似乎是必要的,因此它应该只在文档准备的最后阶段处理。
你可以假装公式的最后一部分“不存在”:
\documentclass[12pt, oneside]{scrbook}
\usepackage{amsmath,mathtools}
\DeclareMathOperator{\E}{E}
\newcommand{\with}{\,;}
\newcommand{\dx}{\mathop{}\!\mathrm{d}}
\newcommand{\expect}[2][]{\E\if\relax\detokenize{#1}\relax\else_{#1}\fi \left[#2\right]}
\begin{document}
\begin{equation}
\begin{aligned}
\mu_{D_-}
&= \expect{f'(S_-) \cdot \sum_{i=1}^{N} W D} \\
&= N \mu_W \mu_D \int_{-\infty}^{\infty} f'(s) p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} \\
\sigma_{D_-}^2
&= \expect{f'(S_-)^2 \cdot \left(\sum_{i=1}^{N} W D\right)^2} - \mu_{D_-}^2 \\
&= N(\sigma_W^2 \sigma_D^2 + \mu_W^2 \sigma_D^2 + \sigma_W^2 \mu_D^2 + N \mu_W^2 \mu_D^2)
\int_{-\infty}^{\infty} f'(s)^2 p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s}
\mathrlap{{} - \mu_{D_-}^2 \,.}
\end{aligned}
\end{equation}
\end{document}
我修改了 的定义\dx
,因为它会在右侧给出错误的间距。而且\;
似乎太大了\with
(说实话,我不会在分号前添加空格)。
\expect
您对自动的定义在很多情况下\left
会\right
产生太大的分隔符(例如,参见第三行)。
xparse
这是使用和功能的修订版本mathtools
;的语法\expect
是
\expect{formula}
\expect[\big]{formula}
\expect*{formula}
\expect_{sub}{formula}
\expect_{sub}[\big]{formula}
\expect_{sub}*{formula}
如添加的等式所示。在可选参数中,可以使用、 或\big
;\Big
*版本使用和。\bigg
\Bigg
\left
\right
还请注意在一些地方添加了\,
和。\!
答案2
除了 \mathrlap
解决方案之外,您还可以替换aligned
并split
使用该\raisetag
命令。我擅自手动调整了几个分隔符的大小和指数的位置:
\documentclass[12pt, oneside]{scrbook}
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
\usepackage{mathtools}
\DeclareMathOperator{\E}{E}
\newcommand{\with}{\;;}
\newcommand{\dx}[1]{\mathop{\mathrm{d}#1}}
\newcommand{\expect}[2][]{\E_{#1} \left[#2\right]}
\begin{document}
\begin{equation}
\begin{split}\raisetag{15ex}
\mu_{D_-} & = \expect{f'(S_-) \cdot \sum_{i=1}^{N} W D} \\
& = N \mu_W \mu_D \int_{-\infty}^{\infty} f'(s) p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} \\
\sigma_{D_-}^2 & = \expect{f'(S_-)^2 \cdot \biggl(\sum_{i=1}^{N} W D\biggr)^{\!\!2}} - \mu_{D_-}^2 \\
& = N \bigl(\sigma_W^2 \sigma_D^2 + \mu_W^2 \sigma_D^2 + \sigma_W^2 \mu_D^2 + N \mu_W^2 \mu_D^2\bigr) \int_{-\infty}^{\infty} f'(s)^2 p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} - \mu_{D_-}^2 \,.
\end{split}
\end{equation}
\end{document}
答案3
方程的最后一行对于文本宽度来说太长,因此方程编号被推到方程下方。将此行拆分为两行:
\documentclass[12pt, oneside]{scrbook}
\usepackage{mathtools}
\DeclareMathOperator{\E}{E}
\newcommand{\with}{\;;}
\newcommand{\dx}[1]{\mathop{\mathrm{d}#1}}
\newcommand{\expect}[2][]{\E_{#1} \left[#2\right]}
\begin{document}
\begin{equation}
\begin{aligned}
\mu_{D_-} & = \expect{f'(S_-) \cdot \sum_{i=1}^{N} W D} \\
& = N \mu_W \mu_D \int_{-\infty}^{\infty} f'(s) p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} \\
\sigma_{D_-}^2 & = \expect{f'(S_-)^2 \cdot \left(\sum_{i=1}^{N} W D\right)^2} - \mu_{D_-}^2 \\
& = \begin{multlined}[t][0.6\linewidth] % defined in mathtools
N \left(\sigma_W^2 \sigma_D^2 + \mu_W^2 \sigma_D^2 + \sigma_W^2 \mu_D^2 + N \mu_W^2 \mu_D^2\right) \cdot\\[1ex]
\int_{-\infty}^{\infty} f'(s)^2 p_\mathcal{N}(s \with \mu_{S_-}, \sigma_{S_-}) \dx{s} - \mu_{D_-}^2 \,.
\end{multlined}
\end{aligned}
\end{equation}
\end{document}