X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/b63b804c605433dde83600f6e6906a19bc8141b0..bfd8ac40bed4535a91bfd645cbe80b47c827a8de:/librarian/embeds/mathml.py
diff --git a/librarian/embeds/mathml.py b/librarian/embeds/mathml.py
index bd58baf..564a9f4 100644
--- a/librarian/embeds/mathml.py
+++ b/librarian/embeds/mathml.py
@@ -10,6 +10,17 @@ from . import TreeEmbed, create_embed, downgrades_to
class MathML(TreeEmbed):
@downgrades_to('application/x-latex')
def to_latex(self):
+ """
+ >>> print(MathML(etree.fromstring('a < b')).to_latex().data.strip())
+ a < b
+
+ >>> print(MathML(etree.fromstring('< & < A')).to_latex().data.strip())
+ < & < A
+
+ """
xslt = etree.parse(get_resource('res/embeds/mathml/mathml2latex.xslt'))
output = self.tree.xslt(xslt)
- return create_embed('application/x-latex', data=six.text_type(output))
+ text = six.text_type(output)
+ # Workaround for entities being preserved in output. But there should be a better way.
+ text = text.replace('<', '<').replace('&', '&')
+ return create_embed('application/x-latex', data=text)