Fix the < and > Texinfo 7.0.3 problem in a simpler way + small improvements
Robert, thanks for an update! I don't know why only GCL and ECL run into an error, but anyway it appears the error has gone away There was a discussion with Richard concerning this bug, and it might be that GCL (as well as its derivative ECL) is not able to properly handle long variable names that include capital letters https://sourceforge.net/p/maxima/mailman/message/37768131/. The reasoning behind that is that this bug can be fixed by changing W1 to wu1 etc (see https://sourceforge.net/p/maxima/mailman/message/37768148/...
Robert, thanks for an update! I don't know why only GCL and ECL run into an error, but anyway it appears the error has gone away There was a discussion with Richard concerning this bug, and it might be that GCL (as well as its derivative ECL) is not able to properly handle long variable names that include capital letters https://sourceforge.net/p/maxima/mailman/message/37768131/. The reasoning behind that is that this bug can be fixed by changing W1 to wu1 etc (see https://sourceforge.net/p/maxima/mailman/message/37768148/...
Thanks for your fix! Your solution is rather elegant, but I should say it's not ideal, at least to my taste. declare(a, complex)$ tex(conjugate(a^2)) gives $$\left(a^{\ast}\right)^2$$, while I would prefer $$a^{\ast2}$$. The latter is what my re-definition of "^" achieves.
Thanks for a comment! A "workaround" I needed to do to run my old code that uses a similar call of facsum was to (finally) waste some time and compile Maxima with SBCL. I should say that Maxima compiles quite fast and the configuration process is straightforward; I would like to thank everyone responsible for that.
facsum + operator(".") + dotdistrib:true + GCL = FAIL
Sorry, the workaround in the original bug report does not take into account the case when there is some expression in the power of conjugate(...). A workaround that works for that case is: texput("^", lambda([e], block( [base : first(e), pow : second(e)], if atom(base) then sconcat(tex1(base), "^{", tex1(pow), "}") else if op(base) # conjugate then sconcat("\\left(", tex1(base), "\\right)^", "{", tex1(pow), "}") else if atom(pow) or member(op(pow), ["*",".","/","^"]) then sconcat(tex1(first(base)),...
Double superscript in tex(conjugate(z))^2