Alinhando mais de duas colunas com alinhamento?

Alinhando mais de duas colunas com alinhamento?

Considere este MWE, modificado deAlinhando condições no ambiente de casos:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  f(x) = \left\{\begin{alignedat}{3}
    & mx^2 +nx +1, &\text{if } & x \le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad  &\text{if } -1 < {}&x < 1 \\
    & 3x^2 - (m+n)x, &\text{otherwise} &
  \end{alignedat}\right.
\]
\end{document}

Resulta com:

teste.png

Eu gostaria de ter os dois ifalinhados otherwise; e os xs alinhados.

Isso pode ser feito com {aligned}? Se sim, onde estou errando?

Responder1

Você precisa usar &&para alinhar as condições. Para alinhar xtambém, neste caso eu recomendaria usar \hphantom:

insira a descrição da imagem aqui

Notas:

  • Você precisa usar {-1}para o segundo caso para que -seja tratado como um operador unário em vez de um operador binário.

Para responder às suas perguntas nos comentários:

  • Cada um &fornece um ponto de alinhamento rà direita/ lesquerda. Ou seja, textoanteso &está alinhado à direita e o textodepoiso &está lalinhado. Portanto, o primeiro &alinha f(x) = {à direita e as expressões subsequentes à esquerda. Em seguida, deseja-se que o texto subsequente (o início da condição) seja lalinhado. Isso significa que precisamos &&. O primeiro &daria um ralinhamento à direita, - o segundo &garante que temos um lalinhamento à esquerda.
  • Usar o \hphantomfoi uma maneira fácil de obter o alinhamento desejado. Claro que isso poderia ser feito com um &, mas isso exigiria o uso de um \laptipo de macro devido ao otherwisetexto. Observe que as expressões de desigualdade se sobrepõem ao otherwisetexto.

Aqui estão os resultados das outras duas abordagens:

insira a descrição da imagem aqui

Código:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\noindent
Recommended approach: use a \verb|\hphantom{}|: 
\[
      f(x) = \left\{\begin{alignedat}{3}
        & mx^2 +nx +1,                            &&\text{if } \hphantom{-1 <{}}   x \le -1 \\
        & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad  &&\text{if } {-1} < x < 1 \\
        & 3x^2 - (m+n)x,                          &&\text{otherwise} 
      \end{alignedat}\right.
    \]
Use additional \verb|&| instead of \verb|\hphantom{}|:
\[
  f(x) = \left\{\begin{alignedat}{4}
    & mx^2 +nx +1,                            &&\text{if } &      &&  &x \le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad  &&\text{if } & {-1} &&{}< {}&x < 1 \\
    & 3x^2 - (m+n)x,                          &&\text{otherwise} 
  \end{alignedat}\right.
\]
With \verb|mathllap|:
\[
  f(x) = \left\{\begin{alignedat}{4}
    & mx^2 +nx +1,                            &&\text{if } &      &&  &x \le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad  &&\text{if } & {-1} &&{}< {}&x < 1 \\
    & 3x^2 - (m+n)x,                          &&\text{\rlap{otherwise}} 
  \end{alignedat}\right.
\]
\end{document}

Responder2

Uma alternativa seria usar o casesmeio ambiente. Precisa de menos e comercial aqui, às custas do xalinhamento, mas eu pessoalmente acho que é mais elegante.

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  f(x) = \begin{cases}
    mx^2 +nx +1, &\text{if }  x \le -1 \\
    2m e^{|x|-1} + \sin \pi x - 3n,  &\text{if } -1 < x < 1 \\
    3x^2 - (m+n)x,  &\text{otherwise}
  \end{cases}
\]
\end{document}

insira a descrição da imagem aqui

Responder3

você pode usar isso

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  f(x) = \left\{\begin{alignedat}{3}
    & mx^2 +nx +1,                             &&\text{if }         &    & x \le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad   &&\text{if }         &-1< & x < 1 \\
    & 3x^2 - (m+n)x,                           &&\text{otherwise}   &&
  \end{alignedat}\right.
\]
\end{document}

Editar imagem:

teste.png

editar(por bbeeton): uma imagem ajustada:

saída do código ajustado

a diferença aqui está no espaçamento ao redor do sinal da esquerda <na segunda linha. isso pode ser feito de duas maneiras:

  • ... &-1<{} & x < 1
  • aproveitando o fato de que oxtem a mesma largura em ambas as linhas e inseri-las como

    & mx^2 +nx +1,                             &&\text{if }         &     x &\le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad   &&\text{if }         & -1< x &< 1 \\
    

O espaçamento adequado em torno dos sinais de operação e relação só é garantido se o alinhamento &preceder o sinal.

informação relacionada