docmux: LaTeX, Typst y Word, en tu navegador
Publico docmux, un conversor de documentos open source escrito en Rust. Corre en el navegador gracias a WebAssembly: papers de LaTeX a Typst que compilan, Word con ecuaciones nativas y un playground para probarlo con tus propios documentos.
Hoy publico docmux, un conversor de documentos que vengo armando en paralelo. Entran LaTeX, Markdown, Typst, Word y HTML, y sale cualquiera de ellos. Está escrito en Rust y compilado a WebAssembly, así que toda la conversión pasa en tu navegador: tus archivos no salen de tu máquina.
🧪 Probalo
El playground abre con un paper ya convertido. A la izquierda está el LaTeX, a la derecha el resultado: renderizado, o en Typst, HTML, Markdown o Word. Si editás el código, el resultado se actualiza mientras escribís. También podés abrir un .docx o soltar tu propio .tex, .md o .typ.
📄 Qué trae esta versión
Papers de LaTeX a Typst que compilan
Un paper es más que su texto. Define sus propios comandos, se reparte en varios archivos y guarda las referencias en un .bbl que generó BibTeX. docmux expande \newcommand, \def y \DeclareMathOperator, sigue los \input e \include, y resuelve cada cita con el estilo del paper, numérico, alfabético o autor-año, con un link a la referencia.
La matemática es lo que pide más cuidado. En LaTeX, xy es x por y; en Typst, xy es una variable que se llama xy. Un conversor que copia las letras tal cual produce algo que parece estar bien y no compila:
LaTeX: D_{KL}(q \| p) = \sum_x q(x) \log \frac{q(x)}{p(x)}
ingenuo: D_(KL) (q||p) = ... -> error: unknown variable: KL
docmux: D_(K L) (q||p) = sum_x q(x) log (q(x))/(p(x))
Todo esto lo chequeo contra el código LaTeX de papers reales de arXiv. Hasta ahora son 397, escritos entre 1998 y 2025. Algunos son conocidos: machine learning, pero también el flujo de Ricci de Perelman, el empaquetamiento de esferas de Viazovska, la observación del Higgs de CMS y Planck 2018. La mayoría son una muestra al azar de todo arXiv, porque los papers famosos suelen tener un LaTeX prolijo. El Typst de todos compila, sin LaTeX crudo en el texto, y la lista sigue creciendo.
Word con ecuaciones de verdad
En el .docx, la matemática va en OMML, el formato nativo de ecuaciones de Word: fracciones, sumatorias, paréntesis que crecen, matrices, filas alineadas. Podés hacer click en una ecuación y editarla en Word. En esos 397 papers son 178.132 ecuaciones, leídas de vuelta con pandoc, que entiende OMML por su cuenta.
Donde lo necesites
El mismo conversor corre en el navegador, en Node y en la terminal:
npm install @docmux/wasm # navegador y Node
cargo install docmux-cli # terminal
docmux paper.tex -t typst -o paper.typ
import { convert } from "@docmux/wasm";
const result = await convert(latexSource, "latex", "typst");
Cada formato es su propio crate de Rust, así que un build de WebAssembly solo lleva los formatos que usa. Todo tiene licencia MIT.
🧭 Qué no es
pandoc es la referencia en conversión de documentos, y docmux cubre una parte de lo que hace. pandoc maneja muchos más formatos y casos borde, y si ya te funciona, no hay motivo para cambiar. docmux es para cuando necesitás convertir adentro de una aplicación web, con licencia MIT, o con foco en LaTeX, Typst y matemática en Word.
Lo que sigue es la compatibilidad con pandoc, medida en vez de estimada: un arnés que pasa las mismas entradas por las dos herramientas y compara los resultados, el Markdown propio de pandoc, y los formatos que más usa la gente de pandoc, como EPUB y ODT. El roadmap tiene el detalle.
🤝 Ayudame a mejorarlo
docmux es joven, y los documentos reales todavía le encuentran huecos. Si lo probás y algo no convierte bien, un issue con el archivo, o con un pedazo, ayuda muchísimo. También un formato que te gustaría ver, o un pull request.
El código está en github.com/aguschirico/docmux.
📋 TL;DR
| Qué | Un conversor de documentos open source: LaTeX, Markdown, Typst, Word, HTML y MyST |
| Dónde | En el navegador, en Node (@docmux/wasm) y en la terminal (docmux-cli) |
| LaTeX a Typst | Compila en los 397 papers de arXiv probados hasta ahora, de 1998 a 2025 |
| Word | Ecuaciones nativas y editables |
| Probalo | docmux.pages.dev/playground, nada sale de tu navegador |
| Código | github.com/aguschirico/docmux, MIT |
Cada documento que escribe otra persona encuentra algo que no se me ocurrió. Esa es la parte que más espero.