JSFiddle - React, Tailwind, and code Playground
by jakie8
JavaScript
var polyTexMe = function(polynomials){
var someLatex = [],
i;
for(i in polynomials){
var coeffArray = polynomials[i],
rawPoly = [],
textLine = '',
order = 0,
j;
for(j in coeffArray){
var coefficient = coeffArray[j],
plusSign = '',
a = '',
variable = '',
texTerm = [];
if(coefficient != 0){
if(order > 1){
variable = 'x^{'+order+'}';
} else if(order == 1){
variable = 'x';
} else if(order == 0 && coefficient !=0){
a = coefficient;
}
if(coefficient*coefficient !=1){
a = coefficient;
} else {
if(coefficient == -1){
if(order > 0){
a = '-';
} else {
a = '-1';
}
}
}
}
if(coefficient > 0 && order < coeffArray.length-1){
plusSign = '+';
}
texTerm = [plusSign, a, variable];
rawPoly.push(texTerm.join(''));
order += 1;
}
rawPoly.reverse();
texLine = '\\item $'+(rawPoly.join(''))+'$';
someLatex.push(texLine);
}
return someLatex;
};
var x = [0,3,-5,1],
y = [-1,0,0,2,8],
z = [4,2,0,-3],
latex = polyTexMe([x, y, z]);
console.log(latex);