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пакетом (wich loads amthtools, which loads 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}

введите описание изображения здесь

Связанный контент