Implementación de un panel LaTeX expandible en la interfaz de la calculadora, permitiendo la visualización de ecuaciones y asignaciones. Se añaden mejoras en la gestión de resultados interactivos, incluyendo la limpieza del contexto antes de evaluaciones y la actualización dinámica del panel LaTeX. Se ajustan configuraciones de la ventana y se optimizan los bindings de teclado. Se actualizan las dependencias para incluir soporte para renderizado de LaTeX.
This commit is contained in:
parent
018537c291
commit
6a533e5bd6
|
@ -1,5 +1,12 @@
|
|||
|
||||
|
||||
x = 5
|
||||
resultado = x * 2
|
||||
valor_test = 100
|
||||
x**2 + y**2 = r**2
|
||||
r=?
|
||||
x=3
|
||||
y=6
|
||||
r
|
||||
r=?
|
||||
|
||||
$$Brix = \frac{Brix_{syrup} \cdot \delta_{syrup} + (Brix_{water} \cdot \delta_{water} \cdot Rateo)}{\delta_{syrup} + \delta_{water} \cdot Rateo}$$
|
||||
|
||||
$$Brix_{Bev} = \frac{Brix_{syr} + Brix_{H_2O} \cdot R_M}{R_M + 1}$$
|
|
@ -1,8 +1,9 @@
|
|||
{
|
||||
"window_geometry": "1383x700+203+1261",
|
||||
"sash_pos_x": 721,
|
||||
"window_geometry": "1272x700+331+1194",
|
||||
"sash_pos_x": 440,
|
||||
"symbolic_mode": true,
|
||||
"show_numeric_approximation": true,
|
||||
"keep_symbolic_fractions": true,
|
||||
"auto_simplify": false
|
||||
"auto_simplify": false,
|
||||
"latex_panel_visible": true
|
||||
}
|
1208
main_calc_app.py
1208
main_calc_app.py
File diff suppressed because it is too large
Load Diff
|
@ -396,7 +396,16 @@ class PureAlgebraicEngine:
|
|||
# Intentar convertir a objeto Ecuación de sympy
|
||||
# Usar _get_complete_context para incluir 'last' y otras variables
|
||||
eval_context = self._get_complete_context()
|
||||
equation_obj = sympify(line, locals=eval_context, parse_function=lambda s: Eq(*s.split('=',1)))
|
||||
|
||||
# Dividir la ecuación manualmente para evitar problemas de parsing
|
||||
parts = line.split('=', 1)
|
||||
if len(parts) != 2:
|
||||
raise ValueError("Ecuación debe tener exactamente un signo '='")
|
||||
|
||||
left_str, right_str = parts[0].strip(), parts[1].strip()
|
||||
left_expr = sympify(left_str, locals=eval_context)
|
||||
right_expr = sympify(right_str, locals=eval_context)
|
||||
equation_obj = Eq(left_expr, right_expr)
|
||||
|
||||
if not isinstance(equation_obj, sp.Equality):
|
||||
# Si no se pudo parsear como Eq(LHS,RHS), tratar como expresión que contiene un igual (posible error o comparación)
|
||||
|
|
|
@ -12,11 +12,14 @@ sympy>=1.12
|
|||
matplotlib>=3.7.0
|
||||
numpy>=1.24.0
|
||||
|
||||
# Panel de ecuaciones LaTeX renderizadas
|
||||
pywebview>=4.0.0
|
||||
|
||||
# Opcional: Para ayuda mejorada con Markdown
|
||||
markdown>=3.4.0
|
||||
|
||||
# Opcional: Para visor HTML en ayuda
|
||||
# tkinterweb>=3.24.0 # Descomenta si quieres soporte HTML completo
|
||||
# Opcional: Para visor HTML/LaTeX en el tercer panel (recomendado)
|
||||
tkinterweb>=3.24.0 # Para renderizado LaTeX con KaTeX
|
||||
# tkhtmlview>=0.2.0 # Alternativa para HTML
|
||||
|
||||
# Testing (opcional)
|
||||
|
|
Loading…
Reference in New Issue