Skip to content

Aplicación de escritorio que combina un editor Python con renderizado LaTeX de ecuaciones en tiempo real.

Notifications You must be signed in to change notification settings

fcocarrascob/CalcNote

Repository files navigation

CalcNote

CalcNote es una aplicación de escritorio minimalista para Windows que permite a ingenieros y científicos escribir, ejecutar y documentar cálculos matemáticos de forma visual. Combina un editor de código Python con renderizado LaTeX profesional.

Características

  • 📝 Editor split-pane - Código a la izquierda, preview renderizado a la derecha
  • 🧮 Renderizado LaTeX profesional - Ecuaciones hermosas con KaTeX
  • Ejecución Asíncrona - UI fluida que no se congela durante cálculos pesados
  • 📊 Gráficos Integrados - Soporte para Matplotlib sin archivos temporales
  • 🌐 Modo Offline - Funciona sin internet (assets locales)
  • 🎯 Precisión Configurable - Control de decimales y notación científica
  • 🐍 100% Python - Sin overhead de Jupyter, ejecución directa
  • 🔢 4 modos de render - params, long, short, symbolic
  • 📄 Interpolación Markdown - Variables dinámicas en texto
  • 💾 Formato .calc - Guarda y abre documentos fácilmente

Instalación

Desarrollo

# Clonar repositorio
git clone https://github.com/user/calcnote.git
cd calcnote

# Instalar dependencias (con uv)
uv sync --all-extras

# O con pip
pip install -e ".[dev]"

Ejecutar

# Modo desarrollo
python -m calcnote

# O usando el script
python scripts/dev.py

Uso Básico

Calcpad usa directivas %% para indicar cómo procesar cada bloque. Es importante cerrar cada bloque con %%end.

%%md
# Cálculo de Viga
Viga simplemente apoyada con carga distribuida.
%%end

%%render params
L = 5  # Longitud [m]
w = 10  # Carga [kN/m]
%%end

%%render
M_max = w * L**2 / 8
%%end

Ejemplo de Ingeniería Estructural

Verificación de una zapata aislada con control de precisión y lógica condicional:

%%md
# Diseño de Zapata Aislada
Verificación de tensiones sobre el terreno.
%%end

%%render params
P = 1500    # Carga axial [kN]
sigma_adm = 250 # Tensión admisible [kPa]
L = 2.5     # Lado zapata [m]
%%end

%%render precision=2
A = L**2
sigma_act = P / A
%%end

%%code
if sigma_act <= sigma_adm:
    check = "VERIFICA"
else:
    check = "NO VERIFICA"
%%end

%%md
**Estado:** !{check} (Solicitación: !{sigma_act} kPa)
%%end

Directivas Soportadas

Directiva Descripción
%%render Renderiza a LaTeX. Soporta precision=N, sci_not
%%render params Tabla de parámetros alineados
%%render long Muestra pasos intermedios
%%render short Solo resultado final
%%render symbolic Solo expresión simbólica
%%md Renderiza Markdown con interpolación !{var}
%%code Ejecuta código Python sin renderizar
%%hide Ejecuta pero oculta output
%%tex LaTeX raw directo

Atajos de Teclado

Atajo Acción
Ctrl+Enter Ejecutar todo
Ctrl+S Guardar
Ctrl+O Abrir
Ctrl+N Nuevo documento

Licencia

MIT License


Stack Técnico

  • Python 3.11+ con PySide6 (Qt6)
  • Motor LaTeX propio (calcnote.latex_engine)
  • KaTeX para renderizado en navegador
  • pyparsing para parsing de expresiones

Ver LATEX_ENGINE.md para detalles del motor de renderizado.

About

Aplicación de escritorio que combina un editor Python con renderizado LaTeX de ecuaciones en tiempo real.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors