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


135

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


我会问你是否真的想这样做。多线方程将很难阅读。是否可以将您的方程分解为多个(较短的)方程?
2010年

Answers:


135

如果您的方程式不适合单行,则 multline可能是您需要环境:

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

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

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

两种环境都需要 amsmath包装。

另请参阅下面的答案中aligned指出的内容。


以我的经验,在multline en方程环境中不可能有换行符
LEDfan

10

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

Bla Bla \\ Bla Bla in another line

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

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


5

有几种方法可以解决这个问题。首先,也许是最好的,是重新计算您的方程式,以使它不会太长。如果太长,则可能无法读取。

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

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

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

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


相对于align环境(带星号或不带星号),align *环境有什么用?
约翰内斯·莱蒙德

1
星号告诉它省略方程行的数字。
TJ Ellis

5

这里还没有提到,另一种选择是environment aligned,同样来自package 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

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

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

并且会与&&对齐。正如前面提到的那样,很难阅读,但是当等式这么长时,无论如何都将很难阅读...(*表示没有方程式编号,IIRC)


3
因此,AMS建议不要使用eqnarray环境,因为它们“会产生等号不一致的间距,并且不会尝试防止等式主体和等式编号的套印”。-在这里并不真正适用,但是很高兴知道;一个好的在线环境可以解决大多数此类情况。
TJ Ellis 2010年

有没有办法使这个数字也成为方程式?如果插入标签,则可以按数字进行引用,但它不会打印在等式的右侧。
henrikstroem

3

我用了 \begin{matrix}

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

3

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

这是一个例子:

\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

使用eqnarray\nonumber

例:

\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

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

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

1

这里简单的答案

\begin{equation}
\begin{split}

equation \\
here

\end{split}
\end{equation}

这是最适合我的方法。{split}函数是关键。
希瑟·克拉克斯顿

0

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

\begin{equation}
    \begin{array}{r c l}
       first Term&=&Second Term\\
                 &=&Third Term
    \end{array}
\end{equation}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.