# Elige un motor de documento

Entiende cómo los documentos de LaTeX, Typst, Markdown, Quarto y Calepin se convierten en un PDF y elige el compilador que necesita tu proyecto.

Un motor convierte tu código fuente en el documento que lee la gente. Elige el lenguaje del documento al crear un proyecto. En un proyecto de LaTeX, también puedes elegir qué compilador de LaTeX ejecuta la compilación.

## Elige un lenguaje

| Tu trabajo | Empieza con | Cómo se convierte en PDF |
|---|---|---|
| Un envío a una revista, una clase de tesis consolidada o un proyecto `.tex` existente | LaTeX | Tectonic, o un compilador ejecutado mediante `latexmk` |
| Un artículo, informe o currículum nuevo con una sintaxis de composición tipográfica concisa | Typst | El Typst 0.15.1 incluido, u otra versión de Typst que fije el proyecto |
| Un borrador en prosa, apuntes o un documento que quieres exportar a varios formatos | Markdown | Pandoc convierte el código a LaTeX; Tectonic produce el PDF |
| Un informe de análisis, un artículo o una presentación cuyos resultados salen de código de R, Python o Julia | Quarto | Quarto convierte archivos `.qmd` o `.Rmd` en un PDF, una página web o diapositivas |
| Un documento de Typst con bloques de código | Calepin | Calepin ejecuta el código y luego el Typst incluido genera el PDF |

La elección determina la barra de herramientas del editor, la sintaxis del código y los formatos de exportación disponibles. Cambiar de compilador de LaTeX no traduce el documento a Typst ni a Markdown. Para pasar un proyecto de LaTeX a Typst, [conviértelo en un proyecto de Typst nuevo](/docs/typst/#convert-a-latex-project-to-typst).

## Tectonic

Usa **Tectonic** para una configuración de LaTeX sencilla. Viene con Oleafly, descarga los paquetes de TeX que necesita una compilación y los guarda en caché para las siguientes. Empieza por aquí cuando tu plantilla no exija un compilador concreto.

Compila una vez con conexión antes de viajar. Un proyecto en caché puede compilar sin conexión; un paquete nuevo aún puede necesitar una descarga. Activa **Ajustes → General → Modo sin conexión** para indicar a Tectonic que use su caché.

## pdfLaTeX

Elige **pdfLaTeX** cuando una editorial o un proyecto existente lo especifique. Sigue el flujo de trabajo tradicional de LaTeX y encaja bien con clases y combinaciones de paquetes más antiguas. Necesita una distribución de TeX con `latexmk` instalado.

## XeLaTeX

Elige **XeLaTeX** para un proyecto que lo pida, sobre todo uno que use `fontspec`, tipografías OpenType o texto multilingüe. Comprueba que las tipografías que menciona el código estén instaladas o incluidas en el proyecto. También se ejecuta mediante `latexmk`.

## LuaLaTeX

Elige **LuaLaTeX** para una plantilla que lo exija, para composición tipográfica basada en Lua o para el flujo de PDF etiquetado de Oleafly. Los PDF etiquetados incluyen una estructura del documento que pueden aprovechar las tecnologías de apoyo. Ejecuta las [comprobaciones de Preflight](/docs/preflight/) para inspeccionar el resultado; la elección del compilador por sí sola no garantiza la calidad de las etiquetas.

## Typst

Oleafly incluye Typst 0.15.1. Crea un proyecto de Typst, escribe en archivos `.typ` y haz clic en **Recompilar**. No hay que configurar ninguna instalación de TeX.

**Ajustes → Motores → Typst** también puede instalar Typst 0.11 a 0.15 y usar un Typst que ya tengas instalado en tu equipo. Cada proyecto fija su propia versión, así que un artículo conserva su diseño cuando Oleafly pasa a un Typst más reciente. Typst descarga los paquetes de Typst Universe la primera vez que un documento los importa, y el **Modo sin conexión** lo limita a los paquetes que ya están en caché o en el proyecto.

Typst tiene su propia sintaxis, sus paquetes y su manejo de tipografías. [Proyectos de Typst](/docs/typst/) trata las versiones, los paquetes, las tipografías y las variantes de compilación. La [guía de escritura en Typst](/docs/writing/typst/) incluye un documento inicial completo y los controles de la barra de herramientas.

## Markdown

Markdown usa **Pandoc** para preparar un documento maquetado y Tectonic para generar su PDF. Abre **Ajustes → Motores → Markdown** para instalar Pandoc si falta. Después abre tu proyecto de Markdown y compílalo.

Consulta [Escribir en Markdown](/docs/writing/markdown/) para los encabezados, las listas, las fórmulas y el editor visual. La [guía de exportación](/docs/export/) explica qué formatos de salida ofrece el proyecto.

## Quarto

Quarto convierte documentos `.qmd` y `.Rmd` en un PDF, una página web o diapositivas. Oleafly usa el Quarto de tu ordenador cuando encuentra uno. Si no lo hay, abre **Ajustes → Motores → Quarto** y selecciona **Descargar Quarto 1.10.19**. El botón también muestra el tamaño de la descarga. Oleafly comprueba la descarga antes de descomprimirla y guarda la copia en su propia carpeta de la aplicación. Si compilas antes de que Quarto esté instalado, la vista previa ofrece instalarlo en el momento, o **Abrir los ajustes del motor**.

El primer formato que declara el documento decide lo que obtienes:

- `pdf`, `typst` y `beamer` generan un PDF. `format: typst` no necesita ninguna instalación de TeX. `pdf` y `beamer` pasan por LaTeX, así que instala TinyTeX desde **Ajustes → Motores → LaTeX** si todavía no tienes TeX.
- `html`, `revealjs` y `dashboard` generan una página web. Selecciona **Abrir en el navegador** en la vista previa para verla.

Cuando el documento no declara ningún formato, Oleafly busca uno en `_quarto.yml` o `_metadata.yml`, en la carpeta del documento y en las carpetas superiores hasta la raíz del proyecto. Si no hay formato en ningún sitio, Quarto genera una página web. Un archivo `.Rmd` que indica un `output:` de R Markdown, como `pdf_document`, recibe el formato de Quarto equivalente.

El código se ejecuta en el R, Python o Julia que ya hay en tu ordenador. Oleafly nunca los instala, y **Lenguajes**, en la misma pestaña de ajustes, muestra los que encontró. El código de Python también necesita Jupyter en ese Python. La exportación ofrece DOCX y HTML, ambos generados por Quarto. El diálogo **Nuevo proyecto** tiene dos plantillas de Quarto: **Quarto article**, un PDF generado con Typst, y **Quarto slides**, una presentación de reveal.js.

## Calepin

Calepin ejecuta el código de un documento de Typst y pone los resultados en el PDF. Un documento de Calepin es un archivo `.typ` que importa `/.calepin/calepin.typ`. Empieza uno con la plantilla **Calepin report**, o abre la flecha junto a **Recompilar** en un proyecto de Typst y elige **Calepin** en **Motor (este proyecto)**.

Instálalo desde **Ajustes → Motores → Calepin** igual que Quarto, con **Descargar Calepin 0.0.61**. Calepin genera el PDF con el Typst que viene con Oleafly. Un bloque cuyo lenguaje no está instalado muestra una nota breve, y el resto del documento se genera igualmente. La exportación ofrece HTML, generado por Calepin.

## Permite el código en un proyecto

El código de un documento de Quarto o Calepin se ejecuta con tus permisos, así que está desactivado en cada proyecto hasta que lo permites. Después de una compilación que necesitaba código, un aviso sobre el editor dice que el código está desactivado y ofrece **Permitir código en este proyecto**. También puedes abrir la flecha junto a **Recompilar** y elegir **Ejecutar código en este equipo** en **Código (este equipo)**. **Desactivado** lo vuelve a desactivar. Permite el código solo si confías en todos los archivos del proyecto.

La elección solo se aplica a este ordenador. No se guarda en el proyecto, y cambiar el motor del proyecto vuelve a desactivar el código. En un [proyecto compartido](/docs/collaboration/), Oleafly pregunta otra vez, porque cualquiera que pueda editar el proyecto puede cambiar su código.

Mientras el código está desactivado:

- Quarto muestra el código de cada bloque sin ejecutarlo. Los filtros, los shortcodes, `_extensions`, los scripts previos y posteriores a la generación y el código R en línea ejecutan código incluso así, de modo que un documento que los usa no se compila hasta que permites el código.
- Calepin no puede omitir el código. Oleafly genera el PDF con Typst normal a partir de los resultados que Calepin guardó la última vez que se ejecutó. Si no hay ninguno, la compilación se detiene y te pide que permitas el código.

Una carpeta que [abres en su ubicación](/docs/library/#folders-opened-in-place) también tiene que ser de confianza antes de que Quarto o Calepin puedan compilarla. La sincronización entre el código fuente y el PDF no está disponible con ninguno de los dos motores.

## Define un valor predeterminado para los proyectos nuevos

Abre **Ajustes → Motores → LaTeX** y elige **Motor de compilación predeterminado**: **Tectonic (incluido)** o **latexmk (TeX del sistema)**. Todo proyecto de LaTeX que crees a partir de entonces empezará con ese motor:

- Un proyecto en blanco o una plantilla del diálogo **Nuevo proyecto**, y un proyecto de investigación.
- Un ZIP, una carpeta, un artículo de arXiv o un repositorio de GitHub importados.
- Un documento que conviertes en un proyecto de LaTeX, como un archivo de Word o un PDF.

El motor se escribe en el `project.json` del proyecto, así que un coautor que abra el proyecto lo compila de la misma manera. Un proyecto importado que indique pdfLaTeX, XeLaTeX o LuaLaTeX conserva ese compilador cuando pasa a `latexmk`. El compilador guardado de un proyecto existente sigue siendo su propia elección.

Una carpeta que [abres en su ubicación](/docs/library/#folders-opened-in-place) y que no tiene un motor propio sigue el valor predeterminado una vez que confías en ella. Hasta entonces se muestra y se compila con Tectonic. En ambos casos, Oleafly no escribe nada en la carpeta.

Para Typst, abre **Ajustes → Motores → Typst** y elige la versión predeterminada. Los proyectos de Typst nuevos fijan la versión que sea la predeterminada en el momento de crearlos. Cambiar el valor predeterminado más tarde no modifica los proyectos existentes.

## Cambia el compilador del proyecto actual

Abre la flecha junto a **Recompilar** en la [barra de herramientas del proyecto](/docs/project-toolbar/). En un proyecto de LaTeX, elige Tectonic, Automático, pdfLaTeX, XeLaTeX o LuaLaTeX en **Compilador (este proyecto)** y luego compila. Lee el registro si una plantilla necesita un paquete o una tipografía que la instalación seleccionada no tiene.

En un proyecto de Typst, el mismo menú tiene **Versión de Typst (este proyecto)**. Elige una versión instalada, o **Predeterminada** para seguir los Ajustes. Su grupo **Motor (este proyecto)** cambia el documento entre **Typst** y **Calepin**.

## Detecta una distribución de TeX existente

Abre **Ajustes → Motores → LaTeX** y revisa la cadena de herramientas detectada. Oleafly comprueba que haya una configuración de compilador completa, con `latexmk` y las herramientas de apoyo. Una instalación parcial del sistema no tiene prioridad sobre una instalación administrada que funcione.

## Instala TinyTeX administrado

Usa el control de instalación en los ajustes del motor de LaTeX si necesitas un compilador tradicional y no tienes ninguno. Oleafly descarga su propia instalación de TinyTeX en `~/.oleafly/tinytex`; no se requiere acceso de administrador. Calcula unos 250 MB para la descarga inicial y más espacio para los paquetes.

## Administra paquetes

La lista de paquetes en los ajustes del motor de LaTeX te permite filtrar paquetes, consultar descripciones y añadirlos o quitarlos. Las insignias de etiquetado señalan los paquetes que requieren atención adicional al producir un PDF etiquetado. Estos controles administran la distribución de TeX que usa `latexmk`; Tectonic tiene su propia caché.

[Lee la guía de paquetes de LaTeX y PDF etiquetado →](/docs/latex-engines/)
