Come posso avere interruzioni di riga nelle mie lunghe equazioni LaTeX?


136

La mia equazione è molto lunga. Come ottengo per continuare sulla riga successiva anziché andare fuori dalla pagina?


Vorrei chiederti se vuoi davvero farlo. Le equazioni multilinea saranno molto difficili da leggere. È possibile suddividere la tua equazione in più equazioni (più brevi)?
pkaeding

Risposte:


135

Se la tua equazione non si adatta su una sola riga, allora l' multlineambiente probabilmente è quello che ti serve:

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

Se è necessario anche un certo allineamento rispetto alla prima parte, è possibile utilizzare split:

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

Entrambi gli ambienti richiedono il amsmathpacchetto.

Vedi anche alignedcome indicato in una risposta di seguito .


Nella mia esperienza non ci può essere una nuova riga all'interno di ambienti multline en equation
LEDfan

10

Senza configurare l'ambiente matematico per il clip, è possibile forzare una nuova riga con due barre rovesciate in una sequenza come questa:

Bla Bla \\ Bla Bla in another line

Il problema è che dovrai determinare dove è probabile che una linea finisca e forzare ad avere sempre un'interruzione lì. Con le equazioni, piuttosto che il testo, preferisco questo modo manuale.

È inoltre possibile utilizzare \\*per impedire l'avvio di una nuova pagina.


5

Ci sono un paio di modi in cui puoi affrontarlo. Il primo, e forse il migliore, è rielaborare la tua equazione in modo che non sia così lunga; è probabilmente illeggibile se è così lungo.

Se deve essere così, dai un'occhiata alla breve guida matematica AMS per alcuni modi per gestirlo. (nella seconda pagina)

Personalmente, utilizzerei un ambiente di allineamento, in modo che la rottura e l'allineamento possano essere controllati con precisione. per esempio

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

che allineerebbe i primi segni più di ogni riga ... ma ovviamente, puoi impostare gli allineamenti dove preferisci.


A cosa serve l'allineamento * rispetto all'allineamento (con contro senza asterisco)?
Johannes Lemonde,

1
l'asterisco gli dice di omettere i numeri per le linee di equazione.
TJ Ellis,

5

Non ancora menzionato qui, un'altra scelta è l'ambiente aligned, sempre dal pacchetto 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

Penso di solito ho usato eqnarray o qualcosa del genere. Ti permette di dire

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

e sarà allineato con il & & ... Come detto pkaeding, è difficile da leggere, ma quando hai un'equazione che dura così tanto, sarà difficile leggere qualunque cosa ... (Il * lo rende non ha un numero di equazione, IIRC)


3
A proposito, l'AMS raccomanda di non utilizzare gli ambienti eqnarray perché "producono una spaziatura incoerente dei segni uguali e non tentano di impedire la sovrastampa del corpo di equazione e del numero di equazione". - non applicabile in questo caso, ma buono a sapersi; un buon vecchio ambiente di allineamento può occuparsi della maggior parte di tali circostanze.
TJ Ellis,

C'è un modo per rendere questo numero anche l'equazione? Se inserisco un'etichetta, posso fare riferimento per numero, ma non è stampato sul lato destro dell'equazione.
henrikstroem,

3

Ho usato il \begin{matrix}

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

3

multlineè meglio usare. Invece, puoi usare dmath,split come bene.

Ecco un esempio:

\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

Uso eqnarray e\nonumber

esempio:

\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

Questo ha funzionato per me durante l'utilizzo del mathtoolspacchetto.

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

1

RISPOSTA SEMPLICE QUI

\begin{equation}
\begin{split}

equation \\
here

\end{split}
\end{equation}

Questo è ciò che ha funzionato meglio per me. La funzione {split} era la chiave.
Heather Claxton,

0

Per risolvere questo problema, ho usato l'ambiente dell'array all'interno dell'ambiente dell'equazione in questo modo:

\begin{equation}
    \begin{array}{r c l}
       first Term&=&Second Term\\
                 &=&Third Term
    \end{array}
\end{equation}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.