-
(FEAT) Wrap bare tables and rows in proper LaTeX environments
An<mtable>with no fences around it (how MathJax and LaTeXML emit multilinealignequations) now renders as\begin{aligned}...\end{aligned}when it declares mixedright/leftcolumn alignment, and as\begin{matrix}...\end{matrix}otherwise, instead of emitting raw&/\\that do not compile. Orphan<mtr>rows wrap themselves too, and the MathJax piecewise shape ({+ table without a closing operator) becomes acasesenvironment. A property-based test now guarantees alignment markers never appear outside an environment. #75 (#74, obsidianmd/obsidian-clipper#143) -
(FEAT) Support unicode double-bar norm delimiters (
∥,‖)
The glyphs real-world MathML uses for norms now translate to the\|delimiter (\left\|x\right\|instead of the invalid\left∥), sibling<mo>∥</mo>pairs are recognized as fences — including scripted norms like‖P‖_F^2where the closing bar sits inside the script base — and a double-bar fenced table becomes aVmatrix. A lone∥keeps its relational meaning (\parallel). #79 (#43)
Thanks to @sunnyawake5 for reporting. -
(FIX) Invisible operators no longer leak into the output
Function application (U+2061), invisible times (U+2062), invisible separator (U+2063) and invisible plus (U+2064) — ubiquitous in MathML from Word and web editors — were passed through as raw unicode characters (sin x) or mistranslated (\llbracket). They are now dropped, producing clean output likesin x. #73 (#71) -
(FIX)
<mmultiscripts>conversion rewritten
Prescripts now attach to the base ({}_{238}^{92}Uinstead of a literal\_glyph), every script pair is kept with{}atoms between pairs so multiple pairs never produce a double-subscript error,<mprescripts/>is found at any position,<none/>placeholders are omitted instead of emitting empty_{}, and a base-only element is accepted as the spec allows. Composite bases group with invisible braces instead of invented visible parentheses. #78 (#77) -
(FIX) Corrected operator mappings for
≧,∼and↦
≧produced the non-existent\geg,∼lost its backslash (literalsim), and↦mapped to\rightarrowtail; they now produce\geqq,\simand\mapsto. #75