There might be a small audience for this code (algebraic geometers teaching precalculus!), so I figured I’d put it out there on the internet.

Let’s say you want to put a synthetic division problem in a TeX document. Let’s also say that you are a user of Macaulay2. You can then use the following code to get the desired result.

Macaulay2, version 1.4
with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra, TangentCone

i1 : writeSyntheticDivision = (f,a) -> (
     x := first gens ring f;
     A := reverse apply(first degree f+1,i->coefficient(x^i,f));
     B := {};
     C := {A_0};
     scan(A_{1..(#A-1)},b->(
               B = B|{a*(last C)};
               C = C|{b+(last B)};
               )       
      );
     string := "\\begin{array}{r|"|concatenate apply(A,i->"r")|"}\n";
     string = string|"\\cline{2-"|toString(#A+1)|"}\n";
     string = string|toString a|concatenate apply(A,i->"&"|toString i)|"\\\\\n";
     string = string|"\\multicolumn{2}{r}{}"|concatenate apply(B,i->"&"|toString i)|"\\\\\\cline{2-"|toString(#A+1)|"}\n";
     string = string|"\\multicolumn{2}{r}{"|toString C_0|"}"|concatenate apply(C_{1..(#C-1)},i->"&"|toString i)|"\\\\\n";
     string = string|"\\end{array}\n";
     print string
     )


o1 = writeSyntheticDivision

o1 : FunctionClosure

i2 : R = QQ[x]

o2 = R

o2 : PolynomialRing

i3 : writeSyntheticDivision(x^4-x^3-7*x^2+13*x-6,1)
\begin{array}{r|rrrrr}
\cline{2-6}
1&1&-1&-7&13&-6\\
\multicolumn{2}{r}{}&1&0&-7&6\\\cline{2-6}
\multicolumn{2}{r}{1}&0&-7&6&0\\
\end{array}