
다항식을 사용한 긴 나눗셈을 설명하기 위해 패키지를 사용하고 있습니다 polynom
. 일반적으로 이러한 문제를 직접 해결할 때 배당금의 첫 번째 항과 정렬된 몫의 첫 번째 항을 갖습니다. 그러나 아래 코드에서 볼 수 있듯이 정렬은 본질적으로 나에게 필요한 것입니다.
\documentclass{article}
\usepackage{polynom}
\begin{document}
\polylongdiv{2x^4+7x^3+8x^2+5x+4}{x^3+x^2+x+1}
\end{document}
몫 2를 피제수 2와 정렬하는 방법이 있나요?
답변1
짧은 답변
\documentclass{article}
\usepackage{polynom}
\begin{document}
\makeatletter
\let\oldpld@SplitQuotient\pld@SplitQuotient
\def\pld@SplitQuotient{\oldpld@SplitQuotient\def\pld@pattern{}}
\polylongdiv{X^9-X^8-X^5+X^4+X+1}{X-1}
\end{document}
긴 답변
polynom
몇 가지 실험 후에 는 연속되지 않은 단항체를 인쇄하는 동안 구멍이 남는 것을 알 수 있습니다 .
메커니즘은 다음과 같이 polynom
사용됩니다 .\pld@pattern
자리 표시자. 배당금은 9차이기 때문에 는 (일종의) \pld@pattern
입니다 .X^9+X^8+...+1
그런 다음 일치하기 시작 \pld@quotient
합니다 \pld@pattern
. 이 경우에는 X^8
으로 이동 X^8
하고 -X^4
으로 이동합니다 X^4
. polynom
배당금을 인쇄하려고 할 때도 같은 일이 발생합니다 . 이것이 바로 in 몫이 in 배당금 X^8
과 일치하는 이유입니다.-X^8
이 문제를 해결하려면 자리 표시자를 더 짧은 것으로 교체해야 합니다.
하지만 그러면 그럴 것이다별로 똑똑하지 않아자리 표시자를 직접 할당해야 하는 경우. 좋은 소식은 자리 표시자를 아무것도 강제로 대체하여 polynom
더 짧은 것을 (다시) 생성한다는 것입니다. 이제 당신이 원하는 것이 될 것입니다.
남은 문제는 어디서 교체할 것인가이다. 여기서는 몫을 인쇄하려고 하기 때문에 \def\pld@pattern{}
뒤에 a를 추가합니다 .\pld@SplitQuotient
polynom
\documentclass{article}
\usepackage{polynom}
\usepackage[active,floats,tightpage]{preview}
\begin{document}
\makeatletter
\let\oldpld@SplitQuotient\pld@SplitQuotient
\begin{figure}
\polylongdiv{X^9-X^8-X^5+X^4+X+1}{X-1}
\end{figure}
\begin{figure}
\def\pld@SplitQuotient{\oldpld@SplitQuotient\def\pld@pattern{}}
\polylongdiv{X^9-X^8-X^5+X^4+X+1}{X-1}
\end{figure}
\begin{figure}
\def\pld@SplitQuotient{\oldpld@SplitQuotient
\def\pld@quotient{\pld@V{X}{9}+\pld@V{X}{8}+\pld@V{X}{7}+\pld@V{X}{6}+\pld@V{X}{5}+\pld@V{X}{4}+\pld@V{X}{3}+\pld@V{X}{2}+\pld@V{X}{1}+\pld@R 11}}
\polylongdiv{X^9-X^8-X^5+X^4+X+1}{X-1}
\end{figure}
\begin{figure}
\def\pld@SplitQuotient{\oldpld@SplitQuotient\def\pld@pattern{}
\def\pld@quotient{\pld@V{X}{8}+\pld@V{X}{7}+\pld@V{X}{6}+\pld@V{X}{5}+\pld@V{X}{4}+\pld@V{X}{3}+\pld@V{X}{2}+\pld@V{X}{1}+\pld@R 11}}
\polylongdiv{X^9-X^8-X^5+X^4+X+1}{X-1}
\end{figure}
\end{document}