Matemáticas con Markdown

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.

Sintaxis básica

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 $$...$$.

Fórmulas en línea

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$.

Fórmulas en bloque

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
$$

Referencia de sintaxis

A continuación se muestra una referencia completa organizada por categorías con los comandos más utilizados.

Operaciones básicas

$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

Raíces

$\sqrt{x}$        Raíz cuadrada
$\sqrt[3]{x}$     Raíz cúbica
$\sqrt[n]{x}$     Raíz n-ésima

Fracciones y binomios

$\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 binomial

Letras griegas

Las 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$

Relaciones y comparaciones

$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

Conjuntos

$\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

Sumatorios, productorios e integrales

$\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 cero

Matrices

Las 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
$$

Sistemas de ecuaciones

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}
$$

Ecuaciones alineadas

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}
$$

Acentos y decoraciones

$\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 inferior

Paréntesis y delimitadores ajustables

Cuando 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\|$          Norma

Texto dentro de fórmulas

Para 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).

Fórmulas de ejemplo por disciplina

Física

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}$$

Estadística y probabilidad

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)}$$

Cálculo

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$$

Álgebra lineal

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

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.

Instalar KaTeX en una página web

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 katex

Configurar auto-render

El 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

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.

Instalar MathJax en una página web

<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.

KaTeX vs MathJax

CaracterísticaKaTeXMathJax
VelocidadMuy rápidoMás lento
Compatibilidad LaTeX~300 funciones~800 funciones
RenderizadoHTML/CSSHTML/CSS/SVG/MathML
Tamaño~200 KB~500 KB
Renderizado servidorSí (v3)
AccesibilidadBásicaAvanzada (menú contextual)
Numeración de ecuacionesNo nativo
Macros personalizados

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.

Plataformas que soportan matemáticas en Markdown

PlataformaLibreríaSintaxis
GitHubMathJax$...$ y $$...$$ en archivos .md, issues y PRs
GitLabKaTeX$...$ y $$...$$
ObsidianMathJax$...$ y $$...$$
Jupyter NotebooksMathJax$...$ y $$...$$ en celdas Markdown
HackMDMathJax$...$ y $$...$$
TyporaMathJax$...$ y $$...$$
NotionKaTeXBloque de ecuación o en línea con $...$
Stack OverflowMathJaxSolo en Math Stack Exchange

Errores comunes

Espacios dentro de los delimitadores

❌ $ 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.

Olvidar las llaves en subíndices y superíndices

❌ $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)

No escapar caracteres especiales

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.

Usar \\ para salto de línea fuera de un entorno

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.

para estar al día con mi contenido. 😊