Aprende a escribir fórmulas y ecuaciones matemáticas en Markdown usando KaTeX y MathJax con ejemplos prácticos
Markdown no incluye soporte nativo para fórmulas matemáticas, pero existen librerías como KaTeX y MathJax que permiten renderizar notación matemática en documentos Markdown. Ambas utilizan una sintaxis basada en LaTeX.
Para escribir una fórmula en línea, se encierra entre signos de dólar simples $...$. Para fórmulas en bloque (centradas y en su propia línea), se usan dobles signos de dólar $$...$$.
Las fórmulas en línea se integran dentro del texto normal:
La fórmula de Einstein es $E = mc^2$ y describe la equivalencia masa-energía.
El área de un círculo es $A = \pi r^2$.Las fórmulas en bloque se muestran centradas y separadas del texto. Son ideales para ecuaciones importantes o complejas:
$$
\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n
$$A continuación se muestra una referencia completa organizada por categorías con los comandos más utilizados.
$a + b$ Suma
$a - b$ Resta
$a \times b$ Multiplicación (×)
$a \cdot b$ Multiplicación (·)
$a \div b$ División (÷)
$\frac{a}{b}$ Fracción
$a^2$ Potencia
$a_i$ Subíndice
$a^{2n+1}$ Potencia con expresión
$a_{i,j}$ Subíndice múltiple$\sqrt{x}$ Raíz cuadrada
$\sqrt[3]{x}$ Raíz cúbica
$\sqrt[n]{x}$ Raíz n-ésima$\frac{a}{b}$ Fracción simple
$\dfrac{a}{b}$ Fracción en tamaño grande (display)
$\tfrac{a}{b}$ Fracción en tamaño pequeño (text)
$\cfrac{1}{1+\cfrac{1}{2}}$ Fracción continuada
$\binom{n}{k}$ Coeficiente binomialLas letras griegas se escriben con una barra invertida seguida de su nombre en inglés. Las minúsculas empiezan con minúscula y las mayúsculas con mayúscula:
Minúsculas:
$\alpha$ $\beta$ $\gamma$ $\delta$ $\epsilon$ $\varepsilon$
$\zeta$ $\eta$ $\theta$ $\vartheta$ $\iota$ $\kappa$
$\lambda$ $\mu$ $\nu$ $\xi$ $\pi$ $\rho$
$\sigma$ $\tau$ $\upsilon$ $\phi$ $\varphi$ $\chi$ $\psi$ $\omega$
Mayúsculas:
$\Gamma$ $\Delta$ $\Theta$ $\Lambda$ $\Xi$ $\Pi$
$\Sigma$ $\Phi$ $\Psi$ $\Omega$$a = b$ Igual
$a \neq b$ No igual
$a < b$ Menor que
$a > b$ Mayor que
$a \leq b$ Menor o igual
$a \geq b$ Mayor o igual
$a \approx b$ Aproximadamente igual
$a \sim b$ Similar
$a \equiv b$ Equivalente / congruente
$a \propto b$ Proporcional
$a \ll b$ Mucho menor
$a \gg b$ Mucho mayor$\in$ Pertenece
$\notin$ No pertenece
$\subset$ Subconjunto
$\subseteq$ Subconjunto o igual
$\cup$ Unión
$\cap$ Intersección
$\emptyset$ Conjunto vacío
$\mathbb{R}$ Números reales
$\mathbb{N}$ Números naturales
$\mathbb{Z}$ Números enteros
$\mathbb{Q}$ Números racionales
$\mathbb{C}$ Números complejos
$\forall$ Para todo
$\exists$ Existe$\sum_{i=1}^{n} x_i$ Sumatorio
$\prod_{i=1}^{n} x_i$ Productorio
$\int_a^b f(x)\,dx$ Integral definida
$\iint_D f(x,y)\,dA$ Integral doble
$\iiint_V f(x,y,z)\,dV$ Integral triple
$\oint_C \vec{F} \cdot d\vec{r}$ Integral de línea cerrada
$\lim_{x \to \infty} f(x)$ Límite
$\lim_{n \to 0} \frac{1}{n}$ Límite a ceroLas matrices se crean con los entornos pmatrix (paréntesis), bmatrix (corchetes), vmatrix (barras verticales) y Bmatrix (llaves):
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$Con corchetes:
$$
\begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{bmatrix}
$$Determinante (barras verticales):
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
$$El entorno cases permite escribir funciones a trozos o sistemas de ecuaciones:
$$
f(x) = \begin{cases}
x^2 & \text{si } x \geq 0 \\
-x & \text{si } x < 0
\end{cases}
$$Sistema de ecuaciones lineales:
$$
\begin{cases}
2x + 3y = 7 \\
x - y = 1
\end{cases}
$$Para mostrar pasos de una demostración o desarrollo, usa aligned:
$$
\begin{aligned}
(x + y)^2 &= (x + y)(x + y) \\
&= x^2 + xy + yx + y^2 \\
&= x^2 + 2xy + y^2
\end{aligned}
$$$\hat{x}$ Acento circunflejo
$\bar{x}$ Barra (media)
$\tilde{x}$ Tilde
$\vec{v}$ Vector (flecha)
$\dot{x}$ Derivada temporal (un punto)
$\ddot{x}$ Segunda derivada temporal (dos puntos)
$\overline{AB}$ Barra superior larga
$\underline{x}$ Subrayado
$\overbrace{a+b+c}^{\text{suma}}$ Llave superior
$\underbrace{a+b+c}_{\text{suma}}$ Llave inferiorCuando una expresión es alta (fracciones, sumatorios), los paréntesis normales quedan pequeños. Usa \left y \right para que se ajusten automáticamente:
$\left( \frac{a}{b} \right)$ Paréntesis ajustados
$\left[ \frac{a}{b} \right]$ Corchetes ajustados
$\left\{ \frac{a}{b} \right\}$ Llaves ajustadas
$\left| \frac{a}{b} \right|$ Valor absoluto ajustado
$\left\| \vec{v} \right\|$ NormaPara incluir texto normal dentro de una fórmula, usa \text{}:
$$
x = 5 \quad \text{si y solo si} \quad y = 10
$$Otros comandos de espaciado: \, (espacio fino), \; (espacio medio), \quad (espacio grande), \qquad (espacio doble).
Energía cinética:
$$E_k = \frac{1}{2}mv^2$$
Ley de gravitación de Newton:
$$F = G\frac{m_1 m_2}{r^2}$$
Ecuación de Schrödinger (independiente del tiempo):
$$\hat{H}\Psi = E\Psi$$
Ecuaciones de Maxwell (forma diferencial):
$$\nabla \cdot \vec{E} = \frac{\rho}{\varepsilon_0}$$Media aritmética:
$$\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$$
Desviación estándar:
$$\sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \bar{x})^2}$$
Distribución normal:
$$f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$
Teorema de Bayes:
$$P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}$$Regla de la cadena:
$$\frac{d}{dx}[f(g(x))] = f'(g(x)) \cdot g'(x)$$
Teorema fundamental del cálculo:
$$\int_a^b f(x)\,dx = F(b) - F(a)$$
Serie de Taylor:
$$f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$$Producto de matrices:
$$(AB)_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj}$$
Autovalores:
$$\det(A - \lambda I) = 0$$
Norma euclidiana:
$$\|\vec{v}\| = \sqrt{v_1^2 + v_2^2 + \cdots + v_n^2}$$KaTeX es una librería rápida para renderizar notación matemática en la web. Se usa en plataformas como GitHub, GitLab y muchos sitios de documentación.
Puedes cargar KaTeX desde un CDN sin necesidad de instalarlo:
<!-- En el <head> de tu HTML -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
<!-- Auto-render: convierte automáticamente $...$ y $$...$$ -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"
onload="renderMathInElement(document.body);"></script>Con npm:
npm install katexEl script auto-render busca delimitadores en el texto y los convierte en fórmulas renderizadas. Puedes personalizar los delimitadores:
renderMathInElement(document.body, {
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '$', right: '$', display: false },
{ left: '\\(', right: '\\)', display: false },
{ left: '\\[', right: '\\]', display: true }
],
throwOnError: false
});MathJax es otra librería popular que soporta una mayor variedad de comandos LaTeX. Es más lenta que KaTeX pero más completa en cuanto a comandos soportados.
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
displayMath: [['$$', '$$'], ['\\[', '\\]']]
}
};
</script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>MathJax 3 es significativamente más rápido que MathJax 2 y soporta renderizado del lado del servidor con Node.js.
| Característica | KaTeX | MathJax |
|---|---|---|
| Velocidad | Muy rápido | Más lento |
| Compatibilidad LaTeX | ~300 funciones | ~800 funciones |
| Renderizado | HTML/CSS | HTML/CSS/SVG/MathML |
| Tamaño | ~200 KB | ~500 KB |
| Renderizado servidor | Sí | Sí (v3) |
| Accesibilidad | Básica | Avanzada (menú contextual) |
| Numeración de ecuaciones | No nativo | Sí |
| Macros personalizados | Sí | Sí |
Usa KaTeX si la velocidad es tu prioridad y tus fórmulas no requieren comandos LaTeX muy avanzados. Es la mejor opción para blogs, documentación y sitios con muchas fórmulas.
Usa MathJax si necesitas compatibilidad completa con LaTeX, accesibilidad avanzada o funciones como numeración automática de ecuaciones. Es la mejor opción para artículos académicos y contenido científico.
| Plataforma | Librería | Sintaxis |
|---|---|---|
| GitHub | MathJax | $...$ y $$...$$ en archivos .md, issues y PRs |
| GitLab | KaTeX | $...$ y $$...$$ |
| Obsidian | MathJax | $...$ y $$...$$ |
| Jupyter Notebooks | MathJax | $...$ y $$...$$ en celdas Markdown |
| HackMD | MathJax | $...$ y $$...$$ |
| Typora | MathJax | $...$ y $$...$$ |
| Notion | KaTeX | Bloque de ecuación o en línea con $...$ |
| Stack Overflow | MathJax | Solo en Math Stack Exchange |
❌ $ E = mc^2 $ (espacios después/antes del $)
✅ $E = mc^2$ (sin espacios)Algunos procesadores no reconocen la fórmula si hay espacios entre el $ y el contenido.
❌ $x^10$ (solo eleva el 1, el 0 queda fuera)
✅ $x^{10}$ (eleva el 10 completo)
❌ $a_ij$ (solo el i es subíndice)
✅ $a_{ij}$ (ij completo como subíndice)En algunos contextos Markdown, los caracteres _, * y \ pueden entrar en conflicto con la sintaxis Markdown. Si tus fórmulas no renderizan bien, comprueba que el procesador no esté interpretando estos caracteres como formato Markdown en lugar de LaTeX.
El salto de línea \\ solo funciona dentro de entornos como aligned, pmatrix, cases, etc. Fuera de estos entornos, no produce un salto de línea. Si necesitas varias ecuaciones separadas, usa bloques $$ independientes.
👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊