Phantom 在特定环境下无法按预期工作

Phantom 在特定环境下无法按预期工作

在下图中,您可以看到幻影在案例环境中占据的宽度没有达到预期:

这是MWE:

\documentclass{amsart}

\begin{document}
\begin{align*}
M+A+T & =12\\
\phantom{M+}A+T & =10
\end{align*}

\[
\begin{cases}
M+A+T & =12\\
\phantom{M+}A+T & =10
\end{cases}
\]

\end{document}

我的问题是:为什么 cases 环境中的幻影不像在 align* 环境中那样占用那么多空间?我该如何修复它?

我现在只有一个临时的解决方案,那就是手动添加一些\hspace。

答案1

align从技术上讲确实如此;正是和之间的对齐差异让cases您感到困惑。align周围的元素采用从右到左的对齐方式&,而 则采用从左到左的对齐方式。因此, 中的间距比cases中的间距更明显。casesalign

为了获得适当的间距,使用\phantom{M + {}}- 在后面添加一个空组,+以确保 TeX 将其视为二进制操作员。

在此处输入图片描述

\documentclass{amsart}

\begin{document}

\begin{align*}
           M +     A + T & = 12 \\
  \phantom{M + {}} A + T & = 10
\end{align*}

\[
  \begin{cases}
             M +     A + T & = 12 \\
    \phantom{M + {}} A + T & = 10
  \end{cases}
\]

\end{document}

您最好使用以下命令cases

在此处输入图片描述

\[
  \begin{cases}
             M +     A + T = 12 \\
    \phantom{M + {}} A + T = 10
  \end{cases}
\]

答案2

确实如此,但是由于您已将两行用 & 对齐,因此左边的空间并不重要。

如果希望“Case”示例对齐,则必须添加 {},因为 + 是二元运算符,而 Latex 会在运算符及其参数之间添加空格。因此,如果没有参数(如您的情况),则不会添加空格。

\documentclass{amsart}

\[
\begin{cases}
M+A+T & =12\\
\phantom{M+{}}A+T & =10
\end{cases}
\]

\end{document}

希望我能帮上忙:)

答案3

区别在于align会形成一对列,一列右对齐,一列左对齐,因此在或 的\phantom情况下 不执行任何操作。alignalign*

为了获得正确的间距,您需要一个空组:\phantom{M+{}},因为只有这样 TeX 才会将其视为+二元运算符号。

但是还有一个更简单的解决方案:

\begin{cases}
\begin{aligned}[t]
M+A+T &= 12
A+T &= 10
\end{aligned}
\end{cases}

全面比较:

\documentclass{amsart}

\begin{document}

\[
\begin{cases}
M+A+T = 12\\
\phantom{M+{}}A+T = 10
\end{cases}
\]

\[
\begin{cases}
\begin{aligned}[t]
M+A+T &= 12\\
A+T   &= 10
\end{aligned}
\end{cases}
\]

\end{document}

在此处输入图片描述

答案4

\documentclass{amsart}

\begin{document}

\[
  \left\{
    \begin{aligned}
      M+A+T &= 12\\
      A+T &= 10
    \end{aligned}
  \right.
\]

\end{document}

在此处输入图片描述

相关内容