使用 align 和 case 进行水平对齐

使用 align 和 case 进行水平对齐

我有cases一个环境里面的环境align,我试图通过一个丑陋的命令将align环境的一行的一部分与环境的一部分对齐。这是一个 MWE:cases\phantom

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
f(x)&=\mathrlap{2}\phantom{\begin{cases}1&\\0&\end{cases}}\text{if }x>0\\
g(x)&=\begin{cases}1&\text{if }x>0\\0&\text{if }x<0\end{cases}
\end{align}
\end{document}

我希望“if”能够水平对齐,但我不明白为什么它们不对齐——也许与 LaTeX 在环境中设置的间距有关cases

有人能看到解决办法吗(除了用“手动”方法之外\vspace)?

答案1

您忘记了\nulldelimiterspace使用空分隔符时添加的:

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
f(x)&=\mathrlap{2}
  \hphantom{\begin{cases}1&\\0&\end{cases}}\kern-\nulldelimiterspace
  \text{if }x>0\\
g(x)&=\begin{cases}1&\text{if }x>0\\0&\text{if }x<0\end{cases}
\end{align}
\end{document}

您应该使用\hphantom而不是\phantom,因此不考虑垂直尺寸。

在此处输入图片描述

相关内容