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 대 정렬, 이를 위해 를 사용하여 split
각 블록을 단일 단위로 나누는 것이 좋습니다.
이 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
마지막 두 행에 줄바꿈을 직접 삽입하는 것 외에도 , , 등의 용어에 필요에 따라 중괄호를 추가하여 일부 표기법을 수정해야 합니다. ( q_11
그리고 이어야 합니다 . 그렇죠?) 중첩되어 있으므로 둥근 괄호 외에 대괄호와 중괄호를 사용하면 독자가 괄호의 순서를 감지하는 데 도움이 됩니다.q_21
q_22
_k1
k_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}