Làm cách nào tôi có thể ngắt dòng trong các phương trình LaTeX dài của mình?


135

Phương trình của tôi rất dài. Làm thế nào để tôi có được nó để tiếp tục trên dòng tiếp theo thay vì ra khỏi trang?


Tôi sẽ hỏi nếu bạn thực sự muốn làm điều đó. Phương trình nhiều dòng sẽ rất khó đọc. Có thể chia phương trình của bạn thành nhiều phương trình (ngắn hơn) không?
pkaeding

Câu trả lời:


135

Nếu phương trình của bạn không phù hợp trên một dòng duy nhất, thì multlinemôi trường có thể là thứ bạn cần:

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

Nếu bạn cũng cần một số liên kết liên quan đến phần đầu tiên, bạn có thể sử dụng split:

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

Cả hai môi trường đều yêu cầu amsmathgói.

Xem thêm alignednhư được chỉ ra trong một câu trả lời dưới đây .


Theo kinh nghiệm của tôi, không thể có một dòng mới trong môi trường đa phương thức en
LEDfan

10

Nếu không cấu hình môi trường toán học của bạn thành clip, bạn có thể buộc một dòng mới với hai dấu gạch chéo ngược theo trình tự như sau:

Bla Bla \\ Bla Bla in another line

Vấn đề với điều này là bạn sẽ cần xác định nơi một dòng có khả năng kết thúc và buộc phải luôn có một dòng ngắt ở đó. Với các phương trình, thay vì văn bản, tôi thích cách thủ công này.

Bạn cũng có thể sử dụng \\*để ngăn chặn một trang mới được bắt đầu.


5

Có một vài cách bạn có thể đối phó với điều này. Đầu tiên, và có lẽ là tốt nhất, là làm lại phương trình của bạn để nó không quá dài; nó có thể không đọc được nếu nó dài

Nếu nó phải như vậy, hãy xem Hướng dẫn toán học ngắn của AMS để biết một số cách xử lý nó. (trên trang thứ hai)

Cá nhân, tôi sẽ sử dụng một môi trường căn chỉnh, để có thể kiểm soát chính xác sự phá vỡ và căn chỉnh. ví dụ

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

sẽ xếp các dấu cộng đầu tiên của mỗi dòng ... nhưng rõ ràng, bạn có thể đặt sự sắp xếp bất cứ nơi nào bạn muốn.


Môi trường căn chỉnh * tốt cho việc gì, liên quan đến môi trường căn chỉnh (có so với không có dấu hoa thị)?
Julian Lemonde

1
dấu hoa thị bảo nó bỏ qua các số cho các đường phương trình.
TJ Ellis

5

Chưa được đề cập ở đây, một lựa chọn khác là môi trường aligned, một lần nữa từ gói 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

Tôi nghĩ rằng tôi thường sử dụng eqnarray hoặc một cái gì đó. Nó cho phép bạn nói

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

và nó sẽ được căn chỉnh bởi & & ... Như đã nói, rất khó đọc, nhưng khi bạn có một phương trình dài như vậy, sẽ rất khó để đọc bất kể điều gì ... (* làm cho nó không có số phương trình, IIRC)


3
fyi AMS khuyến cáo không sử dụng môi trường eqnarray vì chúng "tạo ra khoảng cách không nhất quán của các dấu bằng nhau và không cố gắng ngăn chặn quá mức của thân phương trình và số phương trình." - không thực sự áp dụng ở đây, nhưng tốt để biết; một môi trường phù hợp tốt có thể giải quyết hầu hết các trường hợp như vậy.
TJ Ellis

Có cách nào để biến số này thành phương trình không? Nếu tôi chèn nhãn, tôi có thể tham chiếu nhãn theo số, nhưng nó không được in ở bên phải của phương trình.
henrikstroem

3

Tôi đã sử dụng \begin{matrix}

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

3

multlinelà tốt nhất để sử dụng. Thay vào đó, bạn có thể sử dụng dmath, splitlà tốt.

Đây là một ví dụ:

\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

Sử dụng eqnarray\nonumber

thí dụ:

\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

Điều này làm việc cho tôi trong khi sử dụng mathtoolsgói.

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

1

ĐƠN GIẢN TRẢ LỜI TẠI ĐÂY

\begin{equation}
\begin{split}

equation \\
here

\end{split}
\end{equation}

Đây là những gì làm việc tốt nhất cho tôi. Hàm {split} là khóa.
Heather Claxton

0

Để giải quyết vấn đề này, tôi đã sử dụng môi trường mảng bên trong môi trường phương trình như thế này:

\begin{equation}
    \begin{array}{r c l}
       first Term&=&Second Term\\
                 &=&Third Term
    \end{array}
\end{equation}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.