Como posso ter quebras de linha nas minhas longas equações de LaTeX?


136

Minha equação é muito longa. Como faço para continuar na próxima linha em vez de sair da página?


Gostaria de perguntar se você realmente quer fazer isso. As equações de várias linhas serão muito difíceis de ler. É possível dividir sua equação em várias equações (mais curtas)?
pkaeding

Respostas:


135

Se sua equação não couber em uma única linha, multlineprovavelmente o ambiente é o que você precisa:

\begin{multline}
    first part of the equation \\
    = second part of the equation
\end{multline}

Se você também precisar de algum alinhamento em relação à primeira parte, poderá usar split:

\begin{equation}
    \begin{split}
        first part &= second part #1 \\
        &= second part #2
    \end{split}
\end{equation}

Ambos os ambientes exigem o amsmathpacote.

Veja também alignedcomo indicado na resposta abaixo .


Na minha experiência, não pode haver uma nova linha dentro multline en equação ambientes
LEDfan

10

Sem configurar seu ambiente de matemática para recortar, você pode forçar uma nova linha com duas barras invertidas em uma sequência como esta:

Bla Bla \\ Bla Bla in another line

O problema é que você precisará determinar onde uma linha provavelmente terminará e forçar a sempre ter uma quebra de linha lá. Com equações, em vez de texto, eu prefiro este manual.

Você também pode usar \\*para impedir que uma nova página seja iniciada.


5

Existem algumas maneiras de lidar com isso. Primeiro, e talvez o melhor, é refazer sua equação para que não demore tanto; provavelmente é ilegível se for por tanto tempo.

Se assim for, consulte o AMS Short Math Guide para obter algumas maneiras de lidar com isso. (na segunda página)

Pessoalmente, eu usaria um ambiente de alinhamento, para que a quebra e o alinhamento possam ser precisamente controlados. por exemplo

\begin{align*}
   x&+y+\dots+\dots+x_100000000\\
   &+x_100000001+\dots+\dots
\end{align*}

que alinharia os primeiros sinais de mais de cada linha ... mas, obviamente, você pode definir os alinhamentos onde quiser.


Para que serve o ambiente align *, em relação ao ambiente align (com versus sem asterisco)?
Johannes Lemonde 13/02/19

1
o asterisco diz para omitir números para as linhas da equação.
TJ Ellis

5

Ainda não mencionado aqui, outra opção é ambiente aligned, novamente no pacote amsmath:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
  \begin{aligned}
    A & = B + C\\
      & = D + E + F\\
      & = G
  \end{aligned}
\end{equation}

\end{document}

4

Eu acho que geralmente usava eqnarray ou algo assim. Permite que você diga

\begin{eqnarray*}
    x &=& blah blah blah \\ 
      & & more blah blah blah \\
      & & even more blah blah
\end{eqnarray*}

e será alinhado com o & & ... Como pkaeding mencionou, é difícil de ler, mas quando você tem uma equação que dura tanto tempo, será difícil ler, não importa o que ... (O * faz isso não possui um número de equação, IIRC)


3
fyi, a AMS recomenda não usar ambientes eqnarray porque "produzem espaçamento inconsistente dos sinais de igual e não fazem nenhuma tentativa de impedir a superimposição do corpo e número da equação". - não é realmente aplicável aqui, mas é bom saber; um bom ambiente de alinhamento pode cuidar da maioria dessas circunstâncias.
TJ Ellis

Existe uma maneira de tornar este número a equação também? Se eu inserir um rótulo, posso referenciá-lo por número, mas ele não é impresso no lado direito da equação.
precisa saber é o seguinte

3

Eu usei o \begin{matrix}

\begin{equation}
\begin{matrix}
    line_1 \\ 
    line_2 \\ 
    line_3
\end{matrix}
\end{equation}

3

multlineé melhor usar. Em vez disso, você pode usar dmath,split também.

Aqui está um exemplo:

\begin{multline}
  {\text {\bf \emph {T(u)}}} ={  \alpha *}{\frac{\sum_{i=1}^{\text{\bf \emph {I(u)}}}{{\text{\bf \emph {S(u,i)}}}* {\text {\bf \emph {Cr(P(u,i))}}} * {\text {\bf \emph {TF(u,i)}}}}}{\text {\bf \emph {I(u)}}}}  \\
   +{  \beta *}{\frac{\sum_{i=1}^{\text{\bf \emph {$I_h$(u)}}}{{\text{\bf \emph {S(u,i)}}}* {\text {\bf \emph {Cr(P(u,i))}}} * {\text {\bf \emph {TF(u,i)}}}}}{\text {\bf \emph {$I_h$(u)}}}}
\end{multline}

2

Use eqnarraye\nonumber

exemplo:

\begin{eqnarray}
    sample = R(s,\pi(s),s') + \gamma V^{\pi} (s') \nonumber \\
    \label{eq:temporal-difference}
     V^{\pi}_{k+1}(s) = (1-\alpha)V^{\pi}(s) - \alpha[sample]
\end{eqnarray}

2

Isso funcionou para mim enquanto usava o mathtoolspacote.

\documentclass{article}
\usepackage{mathtools}
\begin{document}
    \begin{equation}
        \begin{multlined}
            first term \\
            second term                 
        \end{multlined}
    \end{equation}
\end{document}

1

RESPOSTA SIMPLES AQUI

\begin{equation}
\begin{split}

equation \\
here

\end{split}
\end{equation}

Isto é o que funcionou melhor para mim. A função {split} foi a chave.
Heather Claxton

0

Para resolver esse problema, usei o ambiente de matriz dentro do ambiente de equação assim:

\begin{equation}
    \begin{array}{r c l}
       first Term&=&Second Term\\
                 &=&Third Term
    \end{array}
\end{equation}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.