tex2svg: Remove non-unique title ID
I have been using tex2svg provided by mathjax-node for years to render multiple SVG formulae for use in a single XHTML document. Recently, I was forced to move to tex2svg provided by mathjax-node-cli.
What has changed now, is the inclusion of a title ID as in:
<title id="MathJax-SVG-1-Title">upper E equals m c squared</title>
As the "MathJax-SVG-1-Title" title ID is the same for every converted formula, the XHTML document becomes invalid because of several non-unique IDs.
Has this generic title ID any use? If not, remove it. If on the other hand a title ID is somehow required, then render it unique by concatenating it with a millisecond level Unix time serialization. Using the actual title for serialization is not sufficient because the same formula may appear more than once in a single XHTML document.
Has this generic title ID any use?
Yes, absolutely it has a use. It is for screen readers (and other assistive technology) so that they can read the mathematics properly. If you want to prevent it from being generated, you can use the --speech=false option on the command line to prevent it.
You are right that better handling of the ids would be helpful. In the meantime, if you don't use --speech-false, you could use the svgNode rather than just svg to get the actual svg tree rather than a serialization, and modify the ID yourself, then serialize it yourself using outerHTML as a work-around for now.
Thanks; --speech=false did it for me.
The XHTML eventually ends up as a PDF (by means of Prince XML, so in that case, there is no substantial need for assistive speech technology.