Build y compilación

Resumen del sistema de build

TeX64 utiliza el motor latexmk para compilar tus documentos LaTeX. latexmk gestiona automáticamente las pasadas intermedias necesarias para crear documentos complejos con bibliografías, índices y referencias cruzadas.

Todos los builds se ejecutan localmente en tu equipo: no se necesita conexión a internet. TeX64 funciona completamente sin conexión, protegiendo tu seguridad y privacidad. El proceso de compilación es rápido y transparente.

Nota sobre plataformas: TeX64 se distribuye actualmente para macOS (Apple Silicon e Intel), y la gestión de la distribución de TeX se realiza ahí. Las versiones para Windows y Linux están previstas pero aún no están disponibles. Los atajos y pasos de configuración de macOS que aparecen a continuación son la vía compatible hoy; los equivalentes para Windows/Linux serán válidos en cuanto se publiquen esas versiones.

Cómo compilar

Iniciar un build es sencillo. Tienes varias opciones:

  • Atajo de tecladoEn macOS, pulsa Cmd+B (Ctrl+B en Windows/Linux cuando se publiquen esas versiones)
  • Build limpioEn macOS, pulsa Cmd+Mayús+B para eliminar primero los archivos intermedios (Ctrl+Mayús+B en Windows/Linux cuando se publiquen esas versiones)
  • Botón de la barra de herramientasHaz clic en el botón de build (icono de reproducción) en la barra de herramientas

Una vez que el build se completa con éxito, la vista previa del PDF se actualiza automáticamente.

Proceso de build

Durante un build, latexmk gestiona automáticamente:

  • Múltiples pasadas de compilaciónLaTeX se ejecuta normalmente 2 o 3 veces para resolver referencias cruzadas
  • BibTeX/BiberProcesa automáticamente las entradas bibliográficas
  • Generación de índicesEjecuta makeindex o xindy para las entradas del índice
  • Referencias cruzadasGarantiza que \ref, \cite, \pageref y comandos similares se resuelvan correctamente
  • Detección de cambiosOmite la reconstrucción si los archivos no han cambiado, ahorrando tiempo

La salida del build aparece en el panel de registros durante la compilación. Puedes ver el progreso en tiempo real y saber exactamente qué está haciendo latexmk.

Selección del archivo raíz

Para proyectos con varios archivos .tex, TeX64 identifica cuál es tu documento raíz (principal). Lo hace buscando el comando \documentclass, que solo aparece en el archivo raíz.

En la mayoría de los casos, la detección automática funciona perfectamente. Sin embargo, si tienes una estructura de proyecto compleja con varias declaraciones \documentclass, puedes sobrescribir manualmente el archivo raíz en los ajustes del proyecto.

TeX64 siempre compila empezando por el archivo raíz. Todos los demás archivos deben incluirse mediante los comandos \input o \include en el archivo raíz.

Consejo: Si recibes errores «file not found», comprueba que esté seleccionado el archivo raíz correcto. TeX64 muestra el archivo raíz actual en la barra de estado inferior.

Perfiles de build

TeX64 te permite configurar varios perfiles de build, cada uno con su propio motor LaTeX y ajustes personalizados. Es útil cuando necesitas probar tu documento con distintos motores.

Los perfiles se crean y gestionan en los ajustes del proyecto. Cada perfil tiene un nombre, una selección de motor y opciones personalizadas opcionales.

Los perfiles son útiles en escenarios como:

  • Probar un documento con motores diferentes (por ejemplo, pdflatex frente a xelatex)
  • Mantener configuraciones de build separadas para los modos de producción y borrador
  • Usar opciones de motor personalizadas para presentaciones o formatos especiales

Motores compatibles

TeX64 admite estos motores principales de LaTeX:

pdflatex

pdflatex es el motor más consolidado y más utilizado. Es compatible con prácticamente todos los paquetes y plantillas de LaTeX, por lo que es ideal para documentos estándar. Genera salida en PDF directamente y es rápido.

Mejor para: artículos académicos, informes técnicos, libros y la mayoría de los documentos estándar. Si no estás seguro de qué motor usar, pdflatex es la opción segura.

xelatex

xelatex ofrece soporte nativo de Unicode y de fuentes del sistema, por lo que es ideal para escrituras no latinas como chino, japonés, árabe y otras. Puedes usar cualquier fuente del sistema instalada en tu equipo.

Mejor para: documentos multilingües, escrituras no latinas y cualquier proyecto que requiera fuentes del sistema. Si trabajas con japonés, chino u otros sistemas de escritura complejos, xelatex es la opción adecuada.

lualatex

lualatex es un motor moderno que integra capacidades de scripting Lua con un procesamiento avanzado de fuentes. Admite de forma nativa las fuentes OpenType y permite un control tipográfico sofisticado.

Mejor para: proyectos que requieren scripting avanzado, tipografía compleja o tecnologías de fuentes modernas. Combina las ventajas de xelatex con la extensibilidad de Lua.

Opciones personalizadas de latexmk

Los usuarios avanzados pueden añadir opciones personalizadas de latexmk para afinar el comportamiento del build. Estas opciones se configuran en los ajustes del proyecto.

Opciones habituales:

  • -shell-escapeHabilita \write18 para ejecutar programas externos desde LaTeX (necesario para paquetes como Minted)
  • -interaction=nonstopmodeContinúa la compilación aunque se produzcan errores (útil para detectar varios problemas a la vez)
  • -output-directory=Especifica un directorio de salida personalizado para el PDF y los archivos intermedios
  • -pdfFuerza el modo de salida PDF
Advertencia: Las opciones personalizadas son una funcionalidad avanzada. Consulta siempre el manual de latexmk o la documentación de TeX antes de usarlas, ya que ajustes incorrectos pueden provocar fallos en el build.

Registro de compilación

El registro de compilación muestra la salida completa del compilador LaTeX y de latexmk. TeX64 analiza esta salida y resalta errores y advertencias con códigos de color.

  • ErroresResaltados en rojo. Impiden que la compilación tenga éxito.
  • AdvertenciasResaltadas en amarillo o naranja. No impiden la compilación, pero pueden afectar a la calidad de la salida.
  • MensajesSe muestran en gris. Son mensajes informativos sobre el proceso de build.

Haz clic en cualquier error o advertencia del registro para saltar directamente a la línea problemática del código fuente. El archivo y el número de línea se resaltan, agilizando la depuración.

Análisis de errores

TeX64 analiza automáticamente los errores de LaTeX para identificar el archivo y el número de línea correctos.

Patrones de error habituales:

  • Undefined control sequenceUn comando no está definido o contiene una errata
  • Missing \endcsname insertedNormalmente lo causan llaves o paréntesis sin emparejar
  • File not foundUn archivo referenciado mediante \input o \include no existe
  • Package not foundUn paquete especificado con \usepackage no está instalado
  • Runaway argumentNormalmente lo causa una llave sin cerrar en un argumento de comando

LaTeX suele producir errores en cascada, así que encontrar el primero es crucial. Corregir el primer error del registro suele resolver muchos posteriores.

Depuración asistida por IA

El asistente de IA de TeX64 puede analizar tu registro de compilación y sugerir correcciones para los errores. Resulta especialmente útil con mensajes de error de LaTeX crípticos.

Para usar la depuración con IA tras un build fallido:

  1. Haz clic en el botón «Ask AI» del panel del registro de compilación
  2. TeX64 envía el contexto completo del error a la IA
  3. La IA sugiere posibles causas y métodos de solución

Las sugerencias de la IA son un buen punto de partida, aunque no siempre son correctas. Son especialmente útiles si no tienes experiencia profunda en TeX.

Diagnóstico del entorno

Cuando se inicia, TeX64 comprueba que todas las herramientas necesarias estén disponibles en tu sistema. Verifica:

  • latexmkEl motor de automatización de builds LaTeX (obligatorio)
  • TeX distributionTeX Live, MacTeX, MiKTeX u otra distribución TeX (obligatoria)
  • latexindentHerramienta de formato de código (opcional pero recomendada)
  • synctexSincronización origen-a-PDF (opcional pero recomendada)

Si falta alguna herramienta obligatoria, TeX64 te avisa y te indica cómo instalarla.

Consejo de configuración: TeX64 funciona actualmente en macOS, donde gestiona tu distribución de TeX. Instala MacTeX con Homebrew: brew install mactex y, después, reinicia TeX64 para que detecte todas las herramientas. La instalación completa tarda unos minutos. Las versiones para Windows y Linux están previstas; cuando se publiquen, instalarás TeX Live mediante el gestor de paquetes de tu sistema.

Build limpio

Un build limpio elimina todos los archivos intermedios y luego reconstruye el documento completo desde cero.

Un build limpio elimina:

  • .auxArchivos auxiliares (referencias cruzadas, etc.)
  • .logRegistros del build
  • .tocArchivos de tabla de contenidos
  • .lof, .lotLista de figuras/tablas
  • .bbl, .blgArchivos de bibliografía
  • .fdb_latexmkBase de datos de dependencias de archivos de latexmk

Usa un build limpio cuando:

  • El build parece atascado en un estado extraño y los builds normales no lo arreglan
  • Tras grandes cambios estructurales (por ejemplo, añadir o quitar capítulos)
  • Sospechas de problemas de caché con referencias cruzadas o numeración
  • Tras cambiar los ajustes del proyecto o las opciones del motor

Compilación incremental

Por defecto, TeX64 utiliza compilación incremental. latexmk rastrea qué archivos han cambiado y solo reejecuta las pasadas de compilación necesarias.

Esto acelera enormemente los builds tras pequeños cambios. latexmk rastrea las dependencias internamente y solo realiza una reconstrucción completa cuando es realmente necesario.

Si la compilación incremental parece omitir algunos cambios, usa un build limpio para forzar una reconstrucción completa.

Solución de problemas de build

Si tu build falla, comprueba estos problemas habituales:

«Root File Not Found»

  • Verifica que el archivo raíz sea el correcto. Los proyectos con varios archivos deben compilarse desde el que contiene \documentclass.
  • Asegúrate de que el archivo raíz siga existiendo y no se haya eliminado o movido.

Mensajes de error crípticos

  • Revisa el registro de compilación para ver los mensajes de error reales. Desplázate al primer error, no al último: corregir el primero suele resolver los errores en cascada.
  • Usa la depuración con IA de TeX64 para analizar mensajes de error complejos.

Errores de paquetes faltantes

  • Asegúrate de que todos los paquetes necesarios estén cargados con \usepackage.
  • TeX64 te indicará qué paquete falta. Sigue las instrucciones del mensaje de error para instalarlo.
  • En macOS con MacTeX instalado, la mayoría de los paquetes están disponibles automáticamente.

Problemas de memoria o recursos

  • Los documentos con muchas imágenes grandes o gráficos complejos pueden quedarse sin memoria.
  • Prueba a comprimir las imágenes o reducir su tamaño para disminuir el uso de recursos.
  • Como alternativa, divide los documentos grandes en partes más pequeñas y compílalas por separado.

Builds lentos

  • Comprueba que la compilación incremental funcione. Tras cambios grandes, puede ser necesario un build limpio.
  • Los gráficos complejos y los diseños avanzados pueden aumentar significativamente el tiempo de build.
Consejo: Si el problema persiste, copia el registro de compilación y busca el error en TeX StackExchange o en comunidades de LaTeX. Estas comunidades son muy activas y suelen ayudar rápidamente.

Consejos de rendimiento

Estas son estrategias para reducir el tiempo de build:

  • Modo borradorAñade la opción draft a \documentclass para omitir el procesamiento de imágenes y compilar solo la maquetación
  • Compilación selectivaUsa \includeonly para compilar solo capítulos concretos
  • Optimización de imágenesConvierte imágenes grandes de mapa de bits a PDF o reduce su tamaño
  • Selección de fuentesLas fuentes Computer Modern (por defecto) compilan más rápido que las fuentes del sistema complejas
  • Optimización de TikZ/PGFPlotsPrecompila los diagramas complejos a PDF e inclúyelos como imágenes

Combinar estas técnicas puede reducir significativamente el tiempo de build en proyectos grandes.