Convertir una fórmula o una figura en un archivo de imagen es lo que peor se le da a LaTeX, por una razón sin adornos: la unidad de salida de LaTeX es la página. Si lo mides, una hoja A4 son 595 × 842 pt, mientras que la línea con la integral de Gauss que hay encima ocupa 86 × 28 pt. Más del 99 % de la diferencia es papel en blanco que no quieres. Solo pretendías pegar una ecuación en PowerPoint, Keynote, Word o una página web, y en su lugar empieza una pelea con los márgenes. Esta página cubre las tres herramientas que ganan esa pelea —la clase standalone, que recorta dentro de LaTeX; pdfcrop, que recorta un PDF ya hecho; y dvisvgm, que convierte a SVG— además de TeX2img, la aplicación gráfica que lo envuelve todo.
La clase standalone: recortar al contenido dentro de LaTeX
La respuesta más directa es la clase standalone. Escribe \documentclass{standalone} en lugar de \documentclass{article} y la página se encoge hasta la caja delimitadora del cuerpo, produciendo un PDF de una página recortado exactamente al contenido. Componer la integral de Gauss del principio con border=2pt da 85,8 × 28,0 pt: de los 595 × 842 pt de un A4, el papel que no querías ha desaparecido por completo. El autor es Martin Scharrer; TeX Live 2024 trae la v1.3b (2022/10/10).
% pdflatex figure.tex -> a one-page PDF cropped to the formula
\documentclass[border=2pt]{standalone}
\usepackage{amsmath}
\begin{document}
$\displaystyle \int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi}$
\end{document}Conviene jubilar aquí una opción muy copiada y sin efecto alguno: \documentclass[preview]{standalone} no cambia nada, porque preview es el valor por defecto de standalone. Si lees el archivo de clase, preview ya es verdadero antes de procesar opciones; lo que sí importa es la opción contraria, crop. (Pedir crop desactiva preview y cambia a un recorte que no usa el paquete preview, la salida de emergencia cuando preview da problemas bajo XeLaTeX.) Los márgenes van en border=: un valor se aplica a los cuatro lados, dos significan «izquierda-derecha / arriba-abajo», y cuatro son izquierda, abajo, derecha, arriba en ese orden. El valor por defecto es 0,50001 bp, así que incluso por omisión queda un pelo de margen.
De dónde sale ese preview tiene su gracia. standalone recorta cargando internamente el paquete preview, y preview.sty forma parte de AUCTeX / preview-latex, justo el código que permite a Emacs mostrar una fórmula compuesta dentro del propio búfer que estás editando. La maquinaria construida para recortar una fórmula de un documento para un editor resulta ser exactamente la maquinaria para recortarla para una diapositiva. TeX Live 2024 trae la v13.3 (2024/01/17).
Otras dos opciones de standalone merecen conocerse. varwidth=<ancho> permite que el cuerpo se reparta en varias líneas, de modo que puedes componer un pie de figura de varias líneas (por omisión el contenido se estira indefinidamente en una sola línea). multi=<entorno> recorta cada tikzpicture de un archivo en su propia página, que es como se mantiene toda una colección de figuras en una sola fuente incluyendo solo la página que hace falta. Y cargar el paquete standalone —mismo nombre— en el documento principal te da \includestandalone{figure}, que trae una figura como fuente o como PDF ya construido, así que usas lo más rápido mientras redactas y lo más seguro al entregar.
pdfcrop: recortar un PDF que ya tienes (ojo al número de página)
Cuando no puedes tocar la fuente, la herramienta es pdfcrop. Dale un PDF ya hecho y medirá los márgenes de cada página, los recortará y escribirá un PDF nuevo. Sirve para un borrador en coautoría cuyo \documentclass no puedes cambiar, o para un PDF de figura que te ha enviado otra persona. Viene con TeX Live; el autor es Heiko Oberdiek y la versión en TeX Live 2024 es la 1.42 (2023/04/15). Para dejar algo de aire alrededor del contenido, pasa --margins "2", en big points.
pdfcrop page.pdf out.pdf # trim all margins
pdfcrop --margins "2" page.pdf out.pdf # leave 2 bp on every side
pdfcrop --margins "5 2 5 2" a.pdf b.pdf # left bottom right top
pdfcrop --hires --clip a.pdf b.pdf # HiResBoundingBox, and clip the contentSaber cómo funciona hace previsible su comportamiento. pdfcrop no analiza el PDF por su cuenta. Le pide la caja delimitadora a Ghostscript y luego vuelve a ejecutar pdfTeX (o XeTeX / LuaTeX, con --xetex / --luatex) para recomponer la página al nuevo tamaño de papel. Dicho de otro modo, recortar un PDF pone a correr a TeX. Sin Ghostscript instalado no funciona, y por eso existe la opción --gscmd para nombrar el comando.
Y aquí está la mina que todo el mundo pisa. pdfcrop considera contenido cualquier marca de la página, así que si hay un número de página al pie —como ocurre por omisión en article— la caja de recorte se estira hacia abajo hasta incluirlo. Recorta una página A4 que solo contenga \[ E = mc^2 \] y obtendrás 43 × 559 pt: la fórmula arriba, el folio abajo y vacío en medio. Añade \pagestyle{empty} y repite, y pasa a ser 43 × 13 pt. Nueve de cada diez veces, «lo recorté y salió rarísimamente alto» es esto.
Exportar a SVG con dvisvgm y si conviene contornear el texto
Para la web, o para una aplicación de dibujo que entienda SVG, dvisvgm es la opción principal. Convierte DVI, EPS y PDF a SVG, viene con TeX Live y lo desarrolla Martin Gieseking desde 2005 (TeX Live 2024 trae la 3.2.2). La ruta más fiable es generar un DVI con latex y pasárselo a dvisvgm. Dale una sola fórmula y, mientras convierte, informa del tamaño real —graphic size: 81.5pt x 23.4pt—, así que sabes al momento cuánto tendrás que escalarla en el destino.
latex figure.tex # produce figure.dvi
dvisvgm --no-fonts --exact-bbox figure.dvi # glyphs as paths, tight box
dvisvgm --font-format=woff2 figure.dvi # keep real text, web font
dvisvgm --eps figure.eps # EPS input
dvisvgm --pdf figure.pdf # PDF input: needs gs or mutoolLa bifurcación está en si contornear el texto o no. Con --no-fonts, los glifos se dibujan como elementos path, de modo que el aspecto se reproduce a la perfección incluso donde faltan las fuentes; el precio es que el texto del SVG ya no se puede buscar ni seleccionar, y el archivo crece algo. Si prefieres conservarlo como texto, incrustas una fuente, por ejemplo con --font-format=woff2. Para matemáticas en la web, contornear es el valor seguro; si la fórmula debe ser buscable junto con la prosa, incrusta la fuente. Y cuando quieras que el recorte sea exacto, --exact-bbox calcula la caja delimitadora a partir de los contornos reales de los glifos.
Una advertencia: el modo de entrada --pdf no funciona con dvisvgm a secas. Interpretar un PDF requiere Ghostscript o el mutool de MuPDF, y sin ninguno de los dos se detiene en ERROR: can't retrieve number of pages from file. TeX Live no incluye mutool, así que si quieres esa ruta instala alguno de los dos, o toma sin más la ruta DVI. (La página de conversores de DVI es la que se ocupa de dvisvgm en sí.)
Cuando necesitas PNG: resolución y transparencia
Si el destino acepta un formato vectorial —PDF, SVG, EPS—, elígelo siempre. Los contornos sobreviven a cualquier ampliación, así que los trazos siguen nítidos tanto impresos como proyectados. El ráster (PNG, JPEG) hace falta cuando el destino no admite vectores, o cuando quieres garantizar el mismo aspecto en el equipo de otra persona. Si vas a ráster, la regla es decidir la resolución primero: para algo que llenará una diapositiva proyectada, presupuesta el equivalente de 300–600 dpi. Ampliar después no añade información.
standalone tiene una opción convert pensada justo para esto, que produce la imagen ráster dentro de la misma compilación. Como llama a un conversor externo, hace falta -shell-escape. Si quieres fondo transparente, elige PNG y, en vez de dejar el margen a cero, conserva un poco de border: así la imagen se integra con naturalidad en el color de fondo de la diapositiva. JPEG usa una compresión pensada para fotografías, así que en fórmulas y dibujos de línea deja ruido alrededor de los trazos; no elijas JPEG para matemáticas.
TeX2img: compilar, recortar y exportar desde una sola ventana
TeX2img reúne todo lo anterior en una sola aplicación. Pega en su ventana un fragmento de matemáticas o una figura, elige motor y formato de salida, pulsa el botón, y la compilación, el recorte y la exportación transcurren de un tirón. La herramienta salió de la comunidad TeX japonesa: Yusuke Terada la desarrolló hasta la versión 1.2, tras lo cual la edición de Windows pasó a Noriyuki Abe mientras Terada continuaba la de macOS, ambas desarrolladas de forma independiente. Es una aplicación que se ejecuta en tu propia máquina, no un servicio web, así que dispone de los archivos de estilo y las fuentes que tengas instalados localmente.
Lo que hace por dentro es la combinación de todo lo anterior. Primero compila el fragmento con el motor que elijas (pdflatex, platex, uplatex, lualatex, xelatex, etc.); en rutas basadas en DVI como platex / uplatex intercala dvipdfmx o dvips; y por último usa Ghostscript (versión 9 o posterior) para recortar a la caja delimitadora y escribir el formato elegido. Por tanto, una instalación de TeX funcional y Ghostscript son requisitos. En Windows, producir SVG necesita además MuPDF, la misma situación que dvisvgm --pdf pidiendo mutool en la sección anterior. Como el motor lo eliges tú, un fragmento con matemáticas o tipografía japonesa sale con tu calidad habitual.
La gama de formatos de salida es amplia: vectoriales EPS, PDF, SVG (y SVGZ), EMF, y ráster PNG, JPEG, GIF, TIFF, BMP. EMF es el formato vectorial para pegar en Office bajo Windows y solo está disponible en la edición de Windows. Márgenes, resolución y transparencia del fondo se configuran por separado, y la GUI permite ajustarlos contra una vista previa en vivo. Para convertir muchas ecuaciones por lotes o integrar la herramienta en una compilación, existe una versión de línea de comandos; en Windows, TeX2imgc.exe ejecuta la GUI en modo CUI. Su forma es: primero las opciones, después los archivos de entrada y salida listados por pares.
TeX2imgc.exe /transparent /resolution=600 equation.tex equation.png
TeX2imgc.exe /latex=uplatex /gs=gswin64c formula.tex formula.svgTres detalles cuentan cuando ya lo estás usando. Primero, basta con pegar el cuerpo, omitiendo \documentclass: TeX2img lo envuelve en una plantilla antes de compilar, así que probar una línea de matemáticas no exige escribir el andamiaje alrededor. Igualmente puedes darle un fragmento completo con su propio preámbulo, un archivo .tex existente o un PDF, PS o EPS ya terminado para convertirlo en imagen. Segundo, en PDF y SVG eliges si contornear el texto o conservarlo como texto real, la misma decisión que dvisvgm --no-fonts en la sección anterior. Tercero, la edición de macOS puede pegar el resultado directamente en Illustrator, Word o PowerPoint, colocándolo en la diapositiva sin que ningún archivo llegue a tocar el disco.
Que decida el destino: Word, PowerPoint, Keynote, la web, la imprenta
La elección del formato no es cuestión de gusto sino de qué acepta el destino. La tabla siguiente lo resume. Como norma, prueba primero un formato vectorial y recurre al ráster solo donde se rechacen los vectores. Y algo que se olvida con facilidad: una ecuación convertida en imagen ya no se puede corregir. Lo que vaya a seguir cambiando —las ecuaciones de un artículo que aún escribes— debe quedarse en LaTeX, y la exportación conviene reservarla para lo que ya está cerrado o para lugares a los que LaTeX no llega. Guarda siempre el fragmento .tex original.
| Formato | Tipo | Dónde encaja |
|---|---|---|
PDF | vectorial | reinclusión en LaTeX, imprenta, Keynote; primera opción |
SVG | vectorial | páginas web y apps de dibujo como Figma o Illustrator |
EPS | vectorial | flujos de imprenta heredados y editoriales que piden EPS |
EMF | vectorial | Word y PowerPoint en Windows; TeX2img solo lo ofrece allí |
PNG | ráster | diapositivas en general, chat, donde importe la transparencia; fija antes la resolución |
JPEG | ráster | solo cuando hay fotografías; nunca para fórmulas ni dibujo de línea |
Para cerrar, un reparto de tareas. Para quedarte dentro de un documento LaTeX, usa la clase standalone: tener cada figura en su propio archivo y traerla con \includestandalone es la práctica estándar. Para recortar un PDF cuya fuente no puedes tocar, usa pdfcrop. Cuando se exige SVG, usa dvisvgm. Y cuando quieras probar varias versiones y decidir el formato a ojo, o manejar un entorno en japonés desde una GUI, TeX2img es el camino más corto. Para dibujar las figuras en sí, la página de TikZ es el lugar; para devolver las imágenes resultantes a un documento, lo es la página sobre incluir imágenes.