数式配列が右余白を超えています

数式配列が右余白を超えています

LaTeX を使用して数式を記述していますeqnarrayが、右余白を超える行があります。どうすれば修正できますか?

これが私のコードです:

\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}

結果は次のようになります:

ここに画像の説明を入力してください

答え1

eqnarrayいかなる理由でも使用しないという標準的なアドバイスに加えて、eqnarray と alignsplit、各ブロックを単一のユニットに分割するには、を使用することをお勧めします。

このtbtagsオプションを使用すると、方程式に添付された番号splitが下部(方程式番号が右側にある場合)または上部に追加されることが保証されます。

\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 \\
    &\qquad +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 \\
    &\qquad +q_{21}q_{22}h^2\!f_i(f_y)^2]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 \\
    &\qquad +q_{33}hf_if_y+p_2q_{33}h^2\!f_tf_y+q_{21}q_{33}h^2\!f_i(f_y)^2+
     q_{22}q_{33}h^2\!f_i(f_y)^2 \\
    &\qquad+q_{22}q_{33}p_1h^3\!f_t(f_y)^2+q_{11}q_{22}q_{33}h^3\!f_i(f_y)^3\}
\end{split}
\end{align}

\end{document}

ここに画像の説明を入力してください

答え2

最後の 2 行に手動で改行を挿入するだけでなく、 、 などの用語に必要に応じて中括弧を追加して表記法の一部を修正する必要があります(もq_11必要ですか?)。括弧構造がネストされている場合は、丸括弧に加えて角括弧と中括弧を使用すると、括弧の順序を検出しやすくなります。q_21q_22_k1k_1

そして、あなたは間違いなくない非常に非推奨のeqnarray環境を使用しています。代わりに、パッケージalignによって提供される環境を使用してくださいamsmath

ここに画像の説明を入力してください

\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\\
     &\qquad +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 \notag\\
     &\qquad +q_{21}q_{22}h^2\!f_i(f_y)^2]f_y\} \notag\\   
     &= 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 \notag\\
     &\qquad +q_{33}hf_if_y+p_2q_{33}h^2\!f_tf_y+q_{21}q_{33}h^2\!f_i(f_y)^2+q_{22}q_{33}h^2\!f_i(f_y)^2 \notag\\
     &\qquad+q_{22}q_{33}p_1h^3\!f_t(f_y)^2+q_{11}q_{22}q_{33}h^3\!f_i(f_y)^3\}
\end{align}
\end{document}

関連情報