fix(math): preserve MathML when flattening arXiv equation tables - #376
Open
RovshanMuradov wants to merge 2 commits into
Open
fix(math): preserve MathML when flattening arXiv equation tables#376RovshanMuradov wants to merge 2 commits into
RovshanMuradov wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix(math): preserve MathML when flattening arXiv equation tables
Why
Flattening arXiv equation tables currently replaces existing MathML with plain LaTeX text. HTML consumers can no longer render the original MathML and must reconstruct it from LaTeX, which may contain unsupported commands.
Change
Clone the existing
<math>element instead of creating an empty element and assigningtextContent = latex. Keep the existingdisplayanddata-latexassignments and subsequent cleanup.This is a small change in
src/standardize.ts, with no new dependencies or public API changes. It does not address the separate HTML wrapper cleanup problem reported in #377.Example
An equation inside an arXiv-style table:
Place this inside an article with surrounding text and extract it with the Node API using LinkeDOM and default standardization (
markdown: false). Before this change, the resulting<math data-latex="x">contains only plainx. Afterward, it retains<semantics><mi>x</mi>…</semantics>while the table wrapper is removed.Verification
javascript:URLs are removed.These checks establish content preservation, not visual correctness of every formula. The existing no-LaTeX guard is unchanged.