如何在长LaTeX方程式中有换行符?

How can I have linebreaks in my long LaTeX equations?

我的方程很长。 如何获得下一行而不是离开页面的继续?


如果您的方程式不能放在一行上,那么multline环境可能就是您所需要的:

1
2
3
4
\begin{multline}
first part of the equation \\
= second part of the equation
\end{multline
}

如果您还需要与第一部分保持一致,则可以使用split

1
2
3
4
5
6
\begin{equation}
\begin{split}
first part &= second part #1 \\
           &= second part #2
\end{split}
\end{equation
}

两种环境都需要amsmath软件包。


在不配置要裁剪的数学环境的情况下,您可以按以下顺序用两个反斜杠强制换行:

1
Bla Bla \\ Bla Bla in another line

这样做的问题是,您将需要确定一条线可能会终止的位置,并强制始终在该处有换行。对于方程式,而不是文本,我更喜欢这种手动方式。

您也可以使用\\*阻止启动新页面。


您可以通过几种方法来处理此问题。首先,也许最好的办法是重新计算您的方程式,以使它不会太长。如果太长,则可能无法读取。

如果必须这样做,请查看《 AMS简短数学指南》以了解一些处理方法。 (在第二页上)

就个人而言,我将使用对齐环境,以便可以精确控制断开和对齐。例如

1
2
3
4
\begin{align*}
   x&+y+\dots+\dots+x_100000000\\
   &+x_100000001+\dots+\dots
\end{align*
}

可以将每行的第一个加号对齐...但是很明显,您可以根据需要设置对齐方式。


我想我通常使用eqnarray之类的东西。它可以让你说

1
2
3
4
5
\begin{eqnarray*}
    x &=& blah blah blah \\
      & & more blah blah blah \\
      & & even more blah blah
\end{eqnarray*
}

并会与&&对齐。正如pkaeding所述,它很难阅读,但是当等式这么长时,无论如何都将很难阅读...(*使它没有方程式编号,IIRC)


最好使用multline。相反,您也可以使用dmathsplit

这是一个例子:

1
2
3
4
\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
}

这里还没有提到,另一种选择是环境aligned,同样来自软件包amsmath

1
2
3
4
5
6
7
8
9
10
11
12
13
14
\documentclass{article}
\usepackage{amsmath}

\begin{document}

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

\end{document
}


我使用了\begin{matrix}

1
2
3
4
5
6
7
\begin{equation}
\begin{matrix}
    line_1 \\
    line_2 \\
    line_3
\end{matrix}
\end{equation
}

使用eqnarray
onumber

例:

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

这里简单的答案

1
2
3
4
5
6
7
8
\begin{equation}
\begin{split}

equation \\
here

\end{split}
\end{equation
}

这在使用mathtools包时对我有用。

1
2
3
4
5
6
7
8
9
10
\documentclass{article}
\usepackage{mathtools}
\begin{document}
    \begin{equation}
        \begin{multlined}
            first term \\
            second term                
        \end{multlined}
   
\end{equation}
\end{document
}

为了解决这个问题,我在等式环境中使用了数组环境,如下所示:

1
2
3
4
5
6
\begin{equation}
    \begin{array}{r c l}
       first Term&=&Second Term\\
                 &=&Third Term
    \end{array}
\end{equation
}