MasteredUltraInstinct commited on
Commit
e943cdd
Β·
verified Β·
1 Parent(s): 62eb7bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -4
app.py CHANGED
@@ -62,7 +62,7 @@ def clean_latex2(latex):
62
  latex = re.sub(r'\\text\s*\{.*?\}', '', latex)
63
  latex = re.sub(r'\\mathbf\s*\{.*?\}', '', latex)
64
  latex = re.sub(r'\\mathrm\s*\{.*?\}', '', latex)
65
- latex = re.sub(r'\\[a-zA-Z]+\s*', '', latex) # kill things like \mathbf, \times, \cdot, \nabla
66
 
67
  latex = latex.replace('{', '').replace('}', '')
68
  latex = latex.replace('βˆ’', '-').replace('–', '-')
@@ -75,9 +75,9 @@ def clean_latex2(latex):
75
  for wrong, right in replacements.items():
76
  latex = re.sub(wrong, right, latex)
77
 
78
- # Remove remaining junk
79
- latex = re.sub(r'[^0-9a-zA-Z=+\-*/().,\n ]', '', latex)
80
  latex = latex.strip().rstrip(',')
 
 
81
 
82
  return latex
83
 
@@ -143,7 +143,18 @@ def solve_system_of_equations(image):
143
 
144
  raw_latex = raw_latex.replace("\n", " ")
145
  equations = re.split(r'[;,]', raw_latex)
146
- cleaned_equations = [clean_latex2(eq) for eq in equations if '=' in eq]
 
 
 
 
 
 
 
 
 
 
 
147
 
148
  sympy_eqs = []
149
  symbols = set()
@@ -170,6 +181,7 @@ def solve_system_of_equations(image):
170
  except Exception as e:
171
  return f"❌ Error: {str(e)}"
172
 
 
173
  # === UI ===
174
  with gr.Blocks() as demo:
175
  with gr.Tab("πŸ–ΌοΈ Parse from Image"):
 
62
  latex = re.sub(r'\\text\s*\{.*?\}', '', latex)
63
  latex = re.sub(r'\\mathbf\s*\{.*?\}', '', latex)
64
  latex = re.sub(r'\\mathrm\s*\{.*?\}', '', latex)
65
+ latex = re.sub(r'\\[a-zA-Z]+\s*', '', latex) # kills \cdot, \nabla, etc.
66
 
67
  latex = latex.replace('{', '').replace('}', '')
68
  latex = latex.replace('βˆ’', '-').replace('–', '-')
 
75
  for wrong, right in replacements.items():
76
  latex = re.sub(wrong, right, latex)
77
 
 
 
78
  latex = latex.strip().rstrip(',')
79
+ latex = re.sub(r'(?<![=<>])=(?![=<>])', ' = ', latex) # normalize =
80
+ latex = re.sub(r'[^0-9a-zA-Z=+\-*/().,\n ]', '', latex)
81
 
82
  return latex
83
 
 
143
 
144
  raw_latex = raw_latex.replace("\n", " ")
145
  equations = re.split(r'[;,]', raw_latex)
146
+
147
+ cleaned_equations = []
148
+ for eq in equations:
149
+ cleaned = clean_latex2(eq)
150
+ cleaned = re.sub(r'(?<![=<>])=(?![=<>])', ' = ', cleaned)
151
+ if '=' in cleaned:
152
+ try:
153
+ parsed = parse_latex(cleaned)
154
+ if isinstance(parsed, sp.Equality):
155
+ cleaned_equations.append(cleaned)
156
+ except Exception:
157
+ continue
158
 
159
  sympy_eqs = []
160
  symbols = set()
 
181
  except Exception as e:
182
  return f"❌ Error: {str(e)}"
183
 
184
+
185
  # === UI ===
186
  with gr.Blocks() as demo:
187
  with gr.Tab("πŸ–ΌοΈ Parse from Image"):