Tonic commited on
Commit
eeaf186
Β·
unverified Β·
1 Parent(s): 3497964

improve latex parsing

Browse files
Files changed (1) hide show
  1. app.py +13 -13
app.py CHANGED
@@ -135,30 +135,30 @@ def update_inputs(task):
135
  def parse_latex_output(res):
136
  lines = res.split('\n')
137
  parsed_lines = []
138
- in_tabular = False
139
 
140
  for line in lines:
141
  line = line.strip()
142
  if not line:
143
  continue
144
 
145
- if line.startswith('\\begin{tabular}') or line.startswith('\\end{tabular}'):
146
- parsed_lines.append(f'$$ {line} $$')
147
- in_tabular = line.startswith('\\begin{tabular}')
148
- continue
149
 
150
- if in_tabular:
151
- parsed_lines.append(f'$$ {line} $$')
152
- continue
153
 
154
- if line.startswith('\\title') or line.startswith('\\author') or line.startswith('\\section'):
 
 
 
155
  parsed_lines.append(line)
156
- continue
157
-
158
- if re.search(r'[\\{}$_^]', line) or any(keyword in line for keyword in ['\\hline', '\\begin', '\\end']):
159
- parsed_lines.append(f'$$ {line} $$')
160
  else:
 
 
 
161
  parsed_lines.append(line)
 
 
162
 
163
  return '\n'.join(parsed_lines)
164
 
 
135
  def parse_latex_output(res):
136
  lines = res.split('\n')
137
  parsed_lines = []
138
+ in_latex = False
139
 
140
  for line in lines:
141
  line = line.strip()
142
  if not line:
143
  continue
144
 
145
+ latex_patterns = [r'\{', r'\}', r'\[', r'\]', r'\\', r'\$', r'_', r'^']
146
+ contains_latex = any(re.search(pattern, line) for pattern in latex_patterns)
 
 
147
 
148
+ is_key_value = ':' in line and not line.startswith('{') and not line.endswith('}')
 
 
149
 
150
+ if contains_latex or is_key_value:
151
+ if not in_latex:
152
+ parsed_lines.append('$$')
153
+ in_latex = True
154
  parsed_lines.append(line)
 
 
 
 
155
  else:
156
+ if in_latex:
157
+ parsed_lines.append('$$')
158
+ in_latex = False
159
  parsed_lines.append(line)
160
+ if in_latex:
161
+ parsed_lines.append('$$')
162
 
163
  return '\n'.join(parsed_lines)
164