Compilar PDF
Motor LaTeX incluido (WASM)
Desde la versión 1.3.0, ComdTeX trae un motor LaTeX completo compilado a WebAssembly (basado en SwiftLaTeX). Esto significa que puedes compilar un PDF real desde tu primera nota, sin instalar pandoc, xelatex ni tectonic. El motor corre en un Web Worker dedicado, así que la interfaz nunca se congela durante la compilación.
El motor incluye lo esencial de TeX Live: article, book, report, beamer, y paquetes como amsmath, amsfonts, amssymb, amsthm, hyperref, graphicx y geometry. Cualquier otro paquete se descarga bajo demanda desde un servidor de paquetes configurable (Configuración → PDF). En la práctica: papers matemáticos simples, teoremas y pruebas, gráficos básicos y fuentes Computer Modern funcionan de inmediato; paquetes como tikz o pgfplots funcionan con conexión a internet (se descargan una vez y quedan en caché mientras dure la sesión); cosas que requieren shell-escape, como minted, no funcionan hoy.
La cadena de respaldo
Si el motor WASM falla o no está disponible, ComdTeX prueba automáticamente, en orden: tectonic, luego xelatex, luego pdflatex, usando cualquiera de estos que tengas instalado en el sistema. La primera que compila con éxito gana. El modal de error de LaTeX solo aparece cuando todos los motores fallan: los diagnósticos del motor WASM se guardan y solo se muestran si el respaldo local también fracasa, para no alarmarte con un error que terminó resolviéndose solo.
Vista previa en vivo
El panel de PDF muestra el resultado de la última compilación con pdf.js, con desplazamiento virtualizado para que documentos largos sigan siendo fluidos. El panel de Diagnósticos es tu checklist antes de exportar: referencias rotas, etiquetas duplicadas, citas faltantes, matemática mal formada y riesgos de exportación, todo en una pestaña; otra pestaña califica la compatibilidad del documento con Overleaf/LaTeX y con Obsidian Markdown.
SyncTeX: clic para ir a la fuente
Cuando el PDF fue compilado por un motor local (tectonic, xelatex o pdflatex, invocados con -synctex=1), hacer clic en el PDF salta el cursor del editor a la línea exacta que generó ese contenido. El comando de paleta “Mostrar línea actual en el PDF” hace el camino inverso: desplaza la vista previa hasta la página que corresponde a donde está tu cursor. Este puente usa una alineación de texto monótona entre tu Markdown/CMDX y el .tex generado; es exacta para prosa y a nivel de párrafo para líneas que son solo matemática.
Hay que ser honestos aquí: el motor WASM incluido no emite datos SyncTeX. Si tu PDF salió de una compilación WASM, el clic-a-fuente y “mostrar línea actual” caen a un emparejamiento por encabezados, más aproximado que el salto exacto de SyncTeX. Si necesitas precisión línea por línea, compila con un motor local instalado.
Cuándo usar cada motor
Usa el motor WASM para escribir sin fricción, sin instalar nada. Instala un motor local (tectonic es el más simple de instalar) cuando necesites SyncTeX preciso, paquetes con shell-escape, o quieras compilaciones más rápidas en documentos largos (el WASM es entre 2 y 3 veces más lento que xelatex nativo en documentos no triviales). El indicador TeX: WASM o TeX: local en la barra de estado siempre te dice cuál compiló el PDF que estás viendo.
Compile PDF
Built-in LaTeX engine (WASM)
Since version 1.3.0, ComdTeX ships a complete LaTeX engine compiled to WebAssembly (based on SwiftLaTeX). That means you can compile a real PDF from your very first note, with no need to install pandoc, xelatex, or tectonic. The engine runs in a dedicated Web Worker, so the interface never freezes during compilation.
The engine includes the essentials of TeX Live: article, book, report, beamer, and packages like amsmath, amsfonts, amssymb, amsthm, hyperref, graphicx, and geometry. Any other package is fetched on demand from a configurable package server (Settings → PDF). In practice: simple math papers, theorems and proofs, basic graphics, and Computer Modern fonts work out of the box; packages like tikz or pgfplots work with an internet connection (fetched once and cached for the session); anything requiring shell-escape, like minted, does not work today.
The fallback chain
If the WASM engine fails or is not available, ComdTeX automatically tries, in order: tectonic, then xelatex, then pdflatex, using whichever of these you have installed locally. The first one that compiles successfully wins. The LaTeX error modal only appears when every engine fails: WASM diagnostics are held back and only surfaced if the local fallback also fails, so a compile that quietly succeeds never alarms you with an error along the way.
Live preview
The PDF panel shows the result of the latest compile with pdf.js, with virtualized scrolling so long documents stay smooth. The Diagnostics panel is your pre-export checklist: broken references, duplicate labels, missing citations, malformed math, and export risks, all in one tab; another tab scores the document’s compatibility with Overleaf/LaTeX and with Obsidian Markdown.
SyncTeX: click to jump to source
When the PDF was compiled by a local engine (tectonic, xelatex, or pdflatex, invoked with -synctex=1), clicking the PDF jumps the editor cursor to the exact line that produced that content. The “Show current line in PDF” palette command does the reverse: it scrolls the preview to the page matching your cursor position. This bridge relies on a monotonic text alignment between your Markdown/CMDX and the generated .tex; it is exact for prose and paragraph-level for math-only lines.
Being honest here: the bundled WASM engine does not emit SyncTeX data. If your PDF came from a WASM compile, click-to-source and “show current line” fall back to heading-based matching, which is coarser than SyncTeX’s exact jump. If you need line-level precision, compile with a locally installed engine instead.
When to use each engine
Use the WASM engine to write without friction, with nothing to install. Install a local engine (tectonic is the simplest to set up) when you need precise SyncTeX, packages that require shell-escape, or faster compiles on long documents (WASM is roughly 2 to 3 times slower than native xelatex for non-trivial documents). The TeX: WASM or TeX: local indicator in the status bar always tells you which engine produced the PDF you are looking at.