
Я использую 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
попытке распечатать делимое. Вот почему X^8
частное в выравнивается с -X^8
делимым в .
Чтобы решить эту проблему, нам нужно заменить заполнитель на более короткий.
Но тогда это было быне такой уж умныйесли нам нужно назначить заполнитель вручную. Хорошая новость в том, что замена заполнителя на ничто заставляет polynom
(пере)генерировать более короткий. Теперь это должно быть то, что вам нужно.
Осталась проблема, где его заменить? Здесь я добавляю \def\pld@pattern{}
после \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}