如何使用带有两个对齐选项卡的 alignat,其中包含一个“案例”环境方程和一个非常长的方程?

如何使用带有两个对齐选项卡的 alignat,其中包含一个“案例”环境方程和一个非常长的方程?

我希望中间的 5 个方程在 = 和“on”处对齐。我尝试使用alignat环境来实现这一点,但不幸的是它根本不起作用。“on...”部分一直超出右边距,我不知道为什么。我想让底部方程保持“分离”,这样它就不需要与其余方程在两个地方对齐,只需在 = 处对齐(因为它的长度)。下面是我尝试过的需要修复的代码,以及编译时的图片。在此处输入图片描述

   \begin{alignat}{2}
\phi &= \begin{cases}
-1 & \text{on }\textbf{$\Gamma$}^{(1)}, \\
+1 & \text{on }\textbf{$\Gamma$}^{(2)} 
\end{cases}
\\
-\Gamma u+\frac{a}{\kappa}u&=\Lambda p &&\text{on }\mathcal{A}
\\
p&=\mathbf{P}(\phi) &&\text{on }\mathcal{B}
\\
[u]^{(2)}_{(1)}&=0 &&\text{on }\gamma
\\
[\nabla_\Gamma u]^{(2)}_{(1)}\cdot\mu&=0 &&\text{on }\gamma
\\
[\nabla_\Gamma u]^{(2)}_{(1)}\cdot\mu&=0 &&\text{on }\gamma,\\
\widehat{\alpha}\mathcal{K}&=-\widehat{b}H_\alpha+\widehat{q}\dashint_\gamma H_\gamma\:{\textrm d}\gamma+\left(\frac{4\kappa\Lambda}{R^2}+2\sigma\Gamma\right)\left(u-\dashint_\gamma u\:{\textrm d}\gamma\right) \\
&\qquad-\kappa\Lambda^2\left(\mathbf{P}(\phi)^{(1)}+\mathbf{P}(\phi)^{(2)}-\dashint_\gamma \mathbf{P}(\phi)^{(1)}+\mathbf{P}(\phi)^{(2)}\:{\textrm d}\gamma\right)
&&\quad\text{on }\gamma.
\end{alignat}

我希望“on..”至少离其余方程更近一些,而不是离页面右侧太远。有人知道如何解决这个问题吗?我猜是因为最后一个方程留下了那个空隙,但我不知道如何解决这个问题。

答案1

以下仅使用 1 个对齐点,因此align仅使用。前六个方程式中右侧的所有元素 =都设置在零宽度(数学)框中,然后跳过以3em设置其各自的on X子句。最后一个方程式使用aligned子句。最后一个方程式使用如下egreg 的回答,使用一个小技巧(零宽度r右对齐数学框)与方程组的其余部分对齐。

上述调整之所以有效,是因为最大的 LHS 和 RHS(用于放置align;在本例中,LHS 为方程 5/6,RHS 为方程 7)可以独立存在。如果调整涉及它们,则可能需要做更多的准备工作。

在此处输入图片描述

\documentclass{article}

\usepackage[margin=1in]{geometry}% Just for this example

\usepackage{amsmath}

% from https://tex.stackexchange.com/a/638315/5764, with thanks
\makeatletter
\newcommand\X@int[1]{%
  \mathop{}\!%
  \mathchoice
    {\XX@int\displaystyle\textstyle{#1}}%
    {\XX@int\textstyle\scriptstyle{#1}}%
    {\XX@int\scriptstyle\scriptscriptstyle{#1}}%
    {\XX@int\scriptscriptstyle\scriptscriptstyle{#1}}%
  \int
}
\newcommand\XX@int[3]{%
  \begingroup
  \sbox0{$#1{#2#3}{\int}$}%
  \vcenter{\hbox{$#2#3\!$}}\kern-.5\wd0
  \endgroup
}
\newcommand\dashint{\X@int-}

\NewDocumentCommand{\mathbox}{o O{c} m}{%
  \IfValueTF{#1}
    {\def\mathbox@##1##2{\makebox[#1][#2]{$##1##2$}}}
    {\def\mathbox@##1##2{\makebox{$##1##2$}}}
  \mathpalette\mathbox@{#3}
}
\makeatother

\begin{document}

\begin{align}
  \phi &
     % Mimic \begin{cases}...\end{cases}
    = \renewcommand{\arraystretch}{1.2}
      \mathbox[0pt][l]{
        \left\{\begin{array}{ @{} r}
          -1 \\
          +1
        \end{array}\right.}
      \hspace{3em}
      \begin{array}{ @{} l}
        \text{on $\mathbf{\Gamma}^{(1)}$,} \\
        \text{on $\mathbf{\Gamma}^{(2)}$}
       \end{array} \\
  -\Gamma u + \frac{a}{\kappa} u &
    = \mathbox[0pt][l]{\Lambda p}
      \hspace{3em}
      \text{on $\mathcal{A}$} \\
  p &
    = \mathbox[0pt][l]{\mathbf{P}(\phi)}
      \hspace{3em}
      \text{on $\mathcal{B}$} \\
  [u]^{(2)}_{(1)} &
    = \mathbox[0pt][l]{0}
      \hspace{3em}
      \text{on $\gamma$} \\
  [\nabla_\Gamma u]^{(2)}_{(1)} \cdot \mu &
    = \mathbox[0pt][l]{0}
      \hspace{3em}
      \text{on $\gamma$} \\
  [\nabla_\Gamma u]^{(2)}_{(1)} \cdot \mu &
    = \mathbox[0pt][l]{0}
      \hspace{3em}
      \text{on $\gamma$,} \\
  &\begin{aligned}
    \mathbox[0pt][r]{\widehat{\alpha} \mathcal{K}} &
    = -\widehat{b} H_\alpha + \widehat{q} \dashint_\gamma H_\gamma\:\mathrm{d}\gamma 
      + \biggl(\frac{4 \kappa \Lambda}{R^2} + 2 \sigma \Gamma \biggr) \biggl(u - \dashint_\gamma u\:\mathrm{d} \gamma \biggr) \\
    & \phantom{{}={}} - \kappa \Lambda^2 \biggl( \mathbf{P}(\phi)^{(1)} + \mathbf{P}(\phi)^{(2)} - \dashint_\gamma \mathbf{P}(\phi)^{(1)} 
      + \mathbf{P}(\phi)^{(2)}\:\mathrm{d}\gamma \biggr) \text{ on $\gamma$.}
  \end{aligned}
\end{align}

\end{document}

答案2

我会使用gather这种类型的显示。

\documentclass{article}
\usepackage{amsmath}

% from https://tex.stackexchange.com/a/204565/ with fixes
\makeatletter
\newcommand\X@int[1]{%
  \mathop{}\!%
  \mathchoice
    {\XX@int\displaystyle\textstyle{#1}}%
    {\XX@int\textstyle\scriptstyle{#1}}%
    {\XX@int\scriptstyle\scriptscriptstyle{#1}}%
    {\XX@int\scriptscriptstyle\scriptscriptstyle{#1}}%
  \int
}
\newcommand\XX@int[3]{%
  \begingroup
  \sbox0{$#1{#2#3}{\int}$}%
  \vcenter{\hbox{$#2#3\!$}}\kern-.5\wd0
  \endgroup
}
\newcommand\dashint{\X@int-}
\makeatother

\begin{document}

\begin{gather}
\phi =
  \begin{cases}
  -1 & \text{on }\textbf{$\Gamma$}^{(1)}, \\
  +1 & \text{on }\textbf{$\Gamma$}^{(2)} 
  \end{cases}
\\
{-}\Gamma u+\frac{a}{\kappa}u=\Lambda p \quad\text{on }\mathcal{A}
\\
p=\mathbf{P}(\phi) \quad\text{on }\mathcal{B}
\\
[u]^{(2)}_{(1)}=0 \quad\text{on }\gamma
\\
[\nabla_\Gamma u]^{(2)}_{(1)}\cdot\mu=0 \quad\text{on }\gamma
\\
[\nabla_\Gamma u]^{(2)}_{(1)}\cdot\mu=0 \quad\text{on }\gamma
\\
  \begin{aligned}
\widehat{\alpha}\mathcal{K}=
  &-\widehat{b}H_\alpha
     +\widehat{q}\dashint_\gamma H_\gamma\,\mathrm{d}\gamma
     +\left(\frac{4\kappa\Lambda}{R^2}+2\sigma\Gamma\right)
      \left(u-\dashint_\gamma u\,\mathrm{d}\gamma\right)
  \\
  &-\kappa\Lambda^2\left(\mathbf{P}(\phi)^{(1)}
   +\mathbf{P}(\phi)^{(2)}
   -\dashint_\gamma \mathbf{P}(\phi)^{(1)}
   +\mathbf{P}(\phi)^{(2)}\,\mathrm{d}\gamma\right)\quad\text{on }\gamma.
  \end{aligned}
\end{gather}

\end{document}

在此处输入图片描述

相关内容