Update app.py
Browse files
app.py
CHANGED
|
@@ -53,39 +53,44 @@ def clean_latex(latex):
|
|
| 53 |
return latex
|
| 54 |
|
| 55 |
def clean_latex2(latex):
|
|
|
|
| 56 |
latex = latex.replace('\\ ', '')
|
| 57 |
-
latex = latex.replace('\\\\', '\n')
|
| 58 |
-
latex =
|
| 59 |
-
latex =
|
| 60 |
-
|
| 61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
latex = re.sub(r'\\(text|mathbf|mathrm|mathit|textbf|mathcal|cal)\s*\{([^{}]+)\}', r'\2', latex)
|
| 63 |
|
| 64 |
-
# Remove
|
| 65 |
latex = re.sub(r'\\[a-zA-Z]+', '', latex)
|
| 66 |
|
| 67 |
-
#
|
| 68 |
-
latex = latex.replace(
|
| 69 |
|
| 70 |
-
#
|
| 71 |
-
latex =
|
| 72 |
|
| 73 |
-
#
|
| 74 |
-
latex =
|
| 75 |
-
latex = latex.replace('β', '-').replace('β', '-')
|
| 76 |
|
| 77 |
-
# Normalize
|
| 78 |
-
latex = re.sub(r'
|
| 79 |
|
| 80 |
-
#
|
| 81 |
latex = re.sub(r'\bchi\b|\bxi\b|\balpha\b', 'x', latex)
|
| 82 |
latex = re.sub(r'\bbeta\b', 'b', latex)
|
| 83 |
latex = re.sub(r'\bgamma\b', 'y', latex)
|
| 84 |
|
| 85 |
-
|
| 86 |
-
latex = re.sub(r'\s+', ' ', latex)
|
| 87 |
-
|
| 88 |
-
return latex.strip()
|
| 89 |
|
| 90 |
def solve_polynomial(image):
|
| 91 |
try:
|
|
|
|
| 53 |
return latex
|
| 54 |
|
| 55 |
def clean_latex2(latex):
|
| 56 |
+
# Remove unnecessary LaTeX symbols and spaces
|
| 57 |
latex = latex.replace('\\ ', '')
|
| 58 |
+
latex = latex.replace('\\\\', '\n')
|
| 59 |
+
latex = latex.replace('~', '')
|
| 60 |
+
latex = latex.replace('β', '-').replace('β', '-')
|
| 61 |
+
latex = latex.replace('β', '-')
|
| 62 |
+
|
| 63 |
+
# Convert math symbols
|
| 64 |
+
latex = re.sub(r'\\times', '*', latex)
|
| 65 |
+
latex = re.sub(r'\\cdot', '*', latex)
|
| 66 |
+
|
| 67 |
+
# Fix multiple dashes (e.g., -- becomes -)
|
| 68 |
+
latex = re.sub(r'-{2,}', '-', latex)
|
| 69 |
+
|
| 70 |
+
# Remove commands like \mathbf{}, \mathcal{}, etc.
|
| 71 |
latex = re.sub(r'\\(text|mathbf|mathrm|mathit|textbf|mathcal|cal)\s*\{([^{}]+)\}', r'\2', latex)
|
| 72 |
|
| 73 |
+
# Remove leftover LaTeX commands
|
| 74 |
latex = re.sub(r'\\[a-zA-Z]+', '', latex)
|
| 75 |
|
| 76 |
+
# Remove curly braces and ampersands
|
| 77 |
+
latex = latex.replace('{', '').replace('}', '').replace('&', '')
|
| 78 |
|
| 79 |
+
# Replace comma/semicolon with newlines to separate equations
|
| 80 |
+
latex = re.sub(r'[;,]', '\n', latex)
|
| 81 |
|
| 82 |
+
# Fix multiple equals (== becomes =)
|
| 83 |
+
latex = re.sub(r'=+', '=', latex)
|
|
|
|
| 84 |
|
| 85 |
+
# Normalize space
|
| 86 |
+
latex = re.sub(r'\s+', ' ', latex).strip()
|
| 87 |
|
| 88 |
+
# Symbol replacements (OCR common confusions)
|
| 89 |
latex = re.sub(r'\bchi\b|\bxi\b|\balpha\b', 'x', latex)
|
| 90 |
latex = re.sub(r'\bbeta\b', 'b', latex)
|
| 91 |
latex = re.sub(r'\bgamma\b', 'y', latex)
|
| 92 |
|
| 93 |
+
return latex
|
|
|
|
|
|
|
|
|
|
| 94 |
|
| 95 |
def solve_polynomial(image):
|
| 96 |
try:
|