Spaces:
Running
Running
Create mathml_utils.py
Browse files- mathml_utils.py +21 -0
mathml_utils.py
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import re
|
2 |
+
from latex2mathml.converter import convert as latex_to_mathml
|
3 |
+
|
4 |
+
def convert_inline_and_block_latex_to_mathml(text):
|
5 |
+
def block_replacer(match):
|
6 |
+
try:
|
7 |
+
mathml = latex_to_mathml(match.group(1))
|
8 |
+
return f"<div class='math'>{mathml}</div>"
|
9 |
+
except Exception:
|
10 |
+
return match.group(0)
|
11 |
+
|
12 |
+
def inline_replacer(match):
|
13 |
+
try:
|
14 |
+
mathml = latex_to_mathml(match.group(1))
|
15 |
+
return f"<span class='math'>{mathml}</span>"
|
16 |
+
except Exception:
|
17 |
+
return match.group(0)
|
18 |
+
|
19 |
+
text = re.sub(r"\$\$(.+?)\$\$", block_replacer, text, flags=re.DOTALL)
|
20 |
+
text = re.sub(r"\\\((.+?)\\\)", inline_replacer, text)
|
21 |
+
return text
|