对齐方程中的垂直居中方程编号

对齐方程中的垂直居中方程编号

我有这些对齐的方程,我希望它们只有一个方程编号。我发现这可以通过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解决方案之外,您还可以替换alignedsplit使用该\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}

相关内容