# Equation Array Exceed Right Margin

I write equations in eqnarrayuse Latex, but there are lines that exceed the right margin, how to fix it?

This is my code:

\begin{eqnarray}
k_1&=&hf(t_i, y_i)=hf_i \label{$k_1$ RK-4}\\
k_2&=&hf(t_i+p_1h, y_i+q_11_k1)\nonumber\\
&=&h(f_i+p_1hf_t+q_{11}k_1f_y)\nonumber\\
&=&h(f_i+p_1hf_t+q_{11}hf_if_y)\\
k_3&=&hf(t_i+p_2h,y_i+q_21k_1+q_22k_2)\nonumber\\
&=&h(f_i+p_2hf_t+q_21k_1f_y+q_22k_2f_y)\nonumber\\
&=&h(f_i+p_2hf_t+q_{21}hf_if_y+q_{22} h(f_i+p_1hf_t+q_{11}hf_if_y)f_y)\nonumber\\
&=&h(f_i+p_2hf_t+q_{21}hf_if_y+q_{22}hf_if_y +q_22h^2p_1f_tf_y+q_{11}q{22}h^2f_i(f_y)^2)\\
k_4&=&hf(t_i+p_3h, y_i+q_31k_1+q_32k_2+q_33k_3)\nonumber\\
&=&h(f_i+p_3hf_t+q_{31}k_1f_y+q_{32}k_2f_y+q_{33}k_3f_y)\nonumber\\
&=&h(f_i+p_3hf_t+q_{31}hf_if_y+q_{32} h(f_i+p_1hf_t+q_{11}hf_if_y)f_y +q_{33}h(f_i+p_2hf_t+q_{21}hf_if_y+q_{22}hf_if_y+q_{22}h^2p_1f_tf_y+q_{21}q_{22}h^2f_i(f_y)^2)f_y)\nonumber\\
&=&h(f_i+p_3hf_t+q_{31}hf_if_y+q_{32}hf_if_y +p_1q_{32}h^2f_tf_y +q_{11}q_{32}h^2f_i(f_y)^2+q_{33}hf_if_y+p_2q_{33}h^2f_tf_y+q_{21}q_{33}h^2f_i(f_y)^2+q_{22}q_{33}h^2f_i(f_y)^2+q_{22}q_{33}p_1h^3f_t(f_y)^2+q_{11}q_{22}q_{33}h^3f_i(f_y)^3)\\
\end{eqnarray}


and this is the result:

• The equation is too wide because it is too wide. However, you already know how to introduce line breaks. Please note that most users have switched to align instead of eqnarray. (However, the latter does not solve the problem automatically, breqn does in principle but I personally would rather break the lines by hand than using breqn.)
– user121799
Mar 15 '19 at 1:07
• @liswyhy Just to remind you that the >s in your code block prevent your code from being compilable. Removing that is better. (and I did it for you.)
– user156344
Mar 15 '19 at 3:54

Besides the standard advice of not using eqnarray for whatsoever reason, see eqnarray vs align, I'd recommend using split for this, so to divide each block into a single unit.

With the tbtags option, we ensure that the number attached to a split equation is added at the bottom (when equation numbers are on the right) or at the top.

\documentclass{article}
\usepackage[tbtags]{amsmath} % for math

\begin{document}
\begin{align}
k_1 &= hf(t_i, y_i)=hf_i \label{k1_RK_4}
\\
\begin{split}
k_2 &= hf(t_i+p_1h, y_i+q_{11}k_1) \\
&= h(f_i+p_1hf_t+q_{11}k_1f_y) \\
&= h(f_i+p_1hf_t+q_{11}hf_if_y)
\end{split}
\\
\begin{split}
k_3 &= hf(t_i+p_2h, y_i+q_{21}k_1+q_{22}k_2) \\
&= h(f_i+p_2hf_t+q_{21}k_1f_y+q_{22}k_2f_y) \\
&= h[f_i+p_2hf_t+q_{21}hf_if_y+q_{22}h(f_i+p_1hf_t+q_{11}hf_if_y)f_y] \\
&= h[f_i+p_2hf_t+q_{21}hf_if_y+q_{22}hf_if_y+q_{22}h^2p_1f_tf_y+
q_{11}q_{22}h^2\!f_i(f_y)^2]
\end{split}
\\
\begin{split}
k_4 &= hf(t_i+p_3h, y_i+q_{31}k_1+q_{32}k_2+q_{33}k_3) \\
&= h(f_i+p_3hf_t+q_{31}k_1f_y+q_{32}k_2f_y+q_{33}k_3f_y) \\
&= h\{f_i+p_3hf_t+q_{31}hf_if_y+q_{32}h(f_i+p_1hf_t+q_{11}hf_if_y)f_y \\
&= h\{f_i+p_3hf_t+q_{31}hf_if_y+q_{32}hf_if_y+p_1q_{32}h^2\!f_tf_y+
q_{11}q_{32}h^2\!f_i(f_y)^2 \\
q_{22}q_{33}h^2\!f_i(f_y)^2 \\
\end{split}
\end{align}

\end{document}


• Can multline be another solution? P.S. Nice answer! Mar 15 '19 at 8:29
• +1. You may want to point out explicitly the role that setting the option tbtags plays here. :-)
– Mico
Mar 15 '19 at 8:31

In addition to inserting some line breaks by hand in the final two rows, you also need to fix some of the notation by adding curly braces as needed in the terms q_11, q_21, q_22, etc. (And _k1 should be k_1, right?) When the parenthetic structures are nested, it helps readers if square brackets and curly braces are used in addition to round parentheses, to help detect the orders of the parentheses.

And you most definitely should not be using the badly deprecated eqnarray environment. Use the align environment, which is provided by the amsmath package, instead.

\documentclass{article}
\usepackage{amsmath} % for 'align' environment and '\notag' macro

\begin{document}
\begin{align}
k_1 &= hf(t_i, y_i)=hf_i \label{k1_RK_4}\\
k_2 &= hf(t_i+p_1h, y_i+q_{11}k_1) \notag\\
&= h(f_i+p_1hf_t+q_{11}k_1f_y) \notag\\
&= h(f_i+p_1hf_t+q_{11}hf_if_y)\\
k_3 &= hf(t_i+p_2h, y_i+q_{21}k_1+q_{22}k_2)  \notag\\
&= h(f_i+p_2hf_t+q_{21}k_1f_y+q_{22}k_2f_y) \notag\\
&= h[f_i+p_2hf_t+q_{21}hf_if_y+q_{22}h(f_i+p_1hf_t+q_{11}hf_if_y)f_y] \notag\\
&= h[f_i+p_2hf_t+q_{21}hf_if_y+q_{22}hf_if_y+q_{22}h^2p_1f_tf_y+q_{11}q_{22}h^2\!f_i(f_y)^2]\\
k_4 &= hf(t_i+p_3h, y_i+q_{31}k_1+q_{32}k_2+q_{33}k_3) \notag\\
&= h(f_i+p_3hf_t+q_{31}k_1f_y+q_{32}k_2f_y+q_{33}k_3f_y) \notag\\
&= h\{f_i+p_3hf_t+q_{31}hf_if_y+q_{32}h(f_i+p_1hf_t+q_{11}hf_if_y)f_y \notag\\

• I forgot to mention another adjustment I made: I inserted negative thinspace (\!) in all instances of either h^2 or h^3 being followed by f. This avoids creating "visual holes" in the formulas.