align 是右对齐

align 是右对齐

我想将 + 和 if 对齐到彼此下方,但由于某种原因,尽管我使用了 &,但 if 都向右对齐。我不明白为什么会发生这种情况,我想知道如何修复它,以便 if 彼此对齐。

\documentclass[12pt]{article}
\usepackage{amsmath}

\begin{document}

\begin{equation*}
\left\{\begin{align*}
        f(x) \quad &+ \quad g(x) & \text{ if } f(x)\geq 0 \text{, } g(x)     \geq 0 \\
        0 \quad &+ \quad 0 & \text{ if } f(x)\geq 0 \text{, } g(x) < -f(x) \\
        f(x)-(-g(x)) \quad &+ \quad 0 & \text{ if } f(x)\geq 0 \text{, } -f(x) \leq g(x) < 0 \\
        0 \quad &+ \quad 0 & \text{ if } f(x)<0 \text{, } g(x)< 0 \\
        \end{align*}
        \right.
\end{equation*}

对齐

答案1

第一、第三、第五、……&将以下表达式左对齐,而第二、第四、第六、……&将以下表达式右对齐。您的解决方案在这里:在每行第二次出现时使用&&代替:&

\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\left\{\begin{aligned}
        f(x) \quad &+ \quad g(x) && \text{ if } f(x)\geq 0 \text{, } g(x)     \geq 0 \\
        0 \quad &+ \quad 0 && \text{ if } f(x)\geq 0 \text{, } g(x) < -f(x) \\
        f(x)-(-g(x)) \quad &+ \quad 0 && \text{ if } f(x)\geq 0 \text{, } -f(x) \leq g(x) < 0 \\
        0 \quad &+ \quad 0 && \text{ if } f(x)<0 \text{, } g(x)< 0 \\
\end{aligned}\right.
\end{equation*}
\end{document}

在此处输入图片描述

答案2

我认为没有必要在 + 号处对齐,但也许你有。

\documentclass[12pt]{article}
\usepackage{amsmath}

\begin{document}

Alignment at $+$
\begin{equation*}
\begin{cases}
\begin{alignedat}{2}
f(x)         &+ g(x) &\qquad& \text{if $f(x)\geq 0$, $g(x)\geq 0$} \\
0            &+ 0    &\qquad& \text{if $f(x)\geq 0$, $g(x) < -f(x)$} \\
f(x)-(-g(x)) &+ 0    &\qquad& \text{if $f(x)\geq 0$, $-f(x) \leq g(x) < 0$} \\
0            &+ 0    &\qquad& \text{if $f(x)<0$, $g(x)< 0$}
\end{alignedat}
\end{cases}
\end{equation*}

Better with no artificial alignment?
\begin{equation*}
\begin{cases}
f(x) + g(x)      & \text{if $f(x)\geq 0$, $g(x)\geq 0$} \\
0 + 0            & \text{if $f(x)\geq 0$, $g(x) < -f(x)$} \\
f(x)-(-g(x)) + 0 & \text{if $f(x)\geq 0$, $-f(x) \leq g(x) < 0$} \\
0 + 0            & \text{if $f(x)<0$, $g(x)< 0$}
\end{cases}
\end{equation*}

\end{document}

在此处输入图片描述

顶部显示本来可以用 来简单管理aligned,但由于 + 处的对齐,我认为两部分之间最好留出更多空间。尝试使用aligned&&代替&\qquad&

答案3

如果您使用 & 符号指定对齐点,则这是正常行为:它会隐式添加到每行的末尾。此外,n 列对齐需要 2n-1 个 & 符号:一个 & 符号用于引入除第一列之外的每个新列,另一个 & 符号用于设置该列内的对齐点。

我还提出了一个更简单的代码,使用empheq包(加载amthtools,加载amsmath)。我想这就是你想要的:

\documentclass[12pt]{article}
\usepackage{empheq}

\begin{document}

    \begin{empheq}[left=\empheqlbrace]{align*}
        f(x) \quad &+ \quad g(x) &\text{ if }& f(x)\geq 0,\ g(x) \geq 0 \\
        0 \quad &+ \quad 0 & \text{ if } & f(x)\geq 0 ,\ g(x) < -f(x) \\
        f(x)-(-g(x)) \quad &+ \quad 0 & \text{ if } & f(x)\geq 0 ,\ -f(x) \leq g(x) < 0 \\
        0 \quad &+ \quad 0 & \text{ if } & f(x)<0 ,\ g(x)< 0 \\
   \end{empheq}

\end{document} 

在此处输入图片描述

答案4

使用array

\documentclass[12pt]{article}
\usepackage{array}
\usepackage{amsmath}

\begin{document}
\[\setlength\arraycolsep{2pt}
\left\{\begin{array}{rcl @{\qquad}r l}
        f(x) & + & g(x) & \text{if }    & f(x)\geq 0,\ g(x) \geq 0 \\
          0  & + & 0    & \text{if }    & f(x)\geq 0,\ g(x) < -f(x) \\
f(x)-(-g(x)) & + & 0    & \text{if }    & f(x)\geq 0,\ -f(x) \leq g(x) < 0 \\
        0    & + & 0    & \text{if }    & f(x)<0 ,\ g(x)< 0 \\
   \end{array}\right.
\]

\end{document}

在此处输入图片描述

相关内容