使用多项式的多项式长除法

使用多项式的多项式长除法

我一直在努力polynom设计一个程序包来排版多项式长除法。这个polynom程序包通过一步步的过程产生了很棒的长除法。但我有两个问题。让我告诉你我到底需要什么。

polynom下面是我用for生成的输出\polylongdiv{X^3+X^2-1}{X-1}

在此处输入图片描述

但是,我希望用 0x 代替缺失的 x 的空格。可以这样做吗?我查看了文档,但找不到这样做的方法。

您可以在此处阅读文档:http://www.cs.brown.edu/system/software/latex/doc/polynom.pdf

我还意识到多项式在数学环境中没有格式化。那么有没有办法在数学环境中格式化这些方程式?我尝试在$周围加上符号\polylongdiv{X^3+X^2-1}{X-1},但什么也没改变。数学环境中的方程式会产生类似这样的结果

在此处输入图片描述

我对乳胶还很陌生。所以请帮助我。

更新:@polgab 帮我解决了生成数学环境(如输出)的第二个问题。我现在只需要问题 1 的解决方案,即我希望用 0x 代替缺失的 x,而不是多项式生成的空格。

答案1

更改负责省略零项的内部宏,您就可以得到想要的结果(但您必须在输入中指定零项):

\documentclass{article}
\usepackage{polynom}
\makeatletter
\def\pld@CF@loop#1+{%
    \ifx\relax#1\else
        \begingroup
          \pld@AccuSetX11%
          \def\pld@frac{{}{}}\let\pld@symbols\@empty\let\pld@vars\@empty
          \pld@false
          #1%
          \let\pld@temp\@empty
          \pld@AccuIfOne{}{\pld@AccuGet\pld@temp
                            \edef\pld@temp{\noexpand\pld@R\pld@temp}}%
           \pld@if \pld@Extend\pld@temp{\expandafter\pld@F\pld@frac}\fi
           \expandafter\pld@CF@loop@\pld@symbols\relax\@empty
           \expandafter\pld@CF@loop@\pld@vars\relax\@empty
           \ifx\@empty\pld@temp
               \def\pld@temp{\pld@R11}%
           \fi
          \global\let\@gtempa\pld@temp
        \endgroup
        \ifx\@empty\@gtempa\else
            \pld@ExtendPoly\pld@tempoly\@gtempa
        \fi
        \expandafter\pld@CF@loop
    \fi}
\def\pld@CMAddToTempoly{%
    \pld@AccuGet\pld@temp\edef\pld@temp{\noexpand\pld@R\pld@temp}%
    \pld@CondenseMonomials\pld@false\pld@symbols
    \ifx\pld@symbols\@empty \else
        \pld@ExtendPoly\pld@temp\pld@symbols
    \fi
    \ifx\pld@temp\@empty \else
        \pld@if
            \expandafter\pld@IfSum\expandafter{\pld@temp}%
                {\expandafter\def\expandafter\pld@temp\expandafter
                    {\expandafter\pld@F\expandafter{\pld@temp}{}}}%
                {}%
        \fi
        \pld@ExtendPoly\pld@tempoly\pld@temp
        \pld@Extend\pld@tempoly{\pld@monom}%
    \fi}
\makeatother
\begin{document}
\polylongdiv{X^3+X^2+0X-1}{X-1}
\end{document}

在此处输入图片描述

相关内容