30

I have been toiling around polynom package to typeset polynomial long division. The polynom package produces wonderful long division with step by step process. But I just have two problems. Let me tell you what I need exactly

Here is the output that I produced with polynom for \polylongdiv{X^3+X^2-1}{X-1}

enter image description here

But instead of spaces for the missing x, I want to have 0x. Is it possible to do that? I checked the documentation and I couldn't find a way to do this.

You can read the documentation here: http://www.cs.brown.edu/system/software/latex/doc/polynom.pdf

I also realized that the polynomials aren't formatted inside the math environment. So is there anyway to format these equations inside math environment also? I tried putting $ signs around \polylongdiv{X^3+X^2-1}{X-1}, but that didn't change anything. Equations inside math environment produces something like this

enter image description here

I am very new to latex. So please help me.

Update: @polgab helped me solve the second question of producing math environment like output. I just need the solution for question 1 now which is I want to have 0x in the place of missing x instead of a space which is being produced by polynom.

7
  • Welcome to TeX.SE. Commented Jul 15, 2012 at 4:18
  • I was just looking at Multivariate polynomial long division using LaTeX, and was about to compose a question when I saw this. Is this a duplicate that answers your question? Commented Jul 15, 2012 at 4:19
  • I edited your question and put the first image in there- the second image seemed to be the same?
    – cmhughes
    Commented Jul 15, 2012 at 4:40
  • @PeterGrill No mine is not a duplicate of tex.stackexchange.com/questions/50404/…. I don't want to typeset multivariate polynomial long division. I just want to get help in modifying some basic settings of the polynom package. Thanks for taking your time to comment!
    – Adhithya
    Commented Jul 15, 2012 at 14:27
  • @cmhughes I just put the second image to show how the output from polynom is different from the output produced in the math environment. If you feel it is causing ambiguity, please feel free to remove it.
    – Adhithya
    Commented Jul 15, 2012 at 14:30

1 Answer 1

30

Changing the internal macros that are responsible for omitting zero terms you get what you want (but you have to specify the zero term in the input):

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

enter image description here

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .