# Escribe en Typst

Escribe un artículo, un informe o un currículum en Typst en modo Código o Visual, con una barra de herramientas que escribe el Typst por ti.

Elige una plantilla de Typst y edita su código `.typ` junto al PDF compilado. La barra de herramientas escribe la sintaxis de Typst por ti, así que cada cambio se queda en el código, donde puedes leerlo y editarlo. Cuando prefieras no ver el marcado, cambia el archivo al modo Visual.

![El ejemplo de Typst con su barra de formato, su código y el informe compilado.](https://cdn.oleafly.com/images/screenshots/desktop/docs/typst-writing-dark-window-v2.png)

## Compila un informe pequeño

1. Elige **Proyecto nuevo → Usar una plantilla → Blank Typst document**.
2. Ponle el nombre **Nota de medición** y abre `main.typ`.
3. Pega el ejemplo siguiente y elige **Recompilar** o pulsa **⌘Enter / Ctrl+Enter**.

```typst title="main.typ"
#set document(title: "Measurement note", author: "Alex Chen")
#set page(paper: "a4", margin: 25mm)
#set heading(numbering: "1.")

= Measurement note
A short report on repeated measurements.

== Method <method>
We collect three observations and compare their mean.

$ overline(x) = (1 + 2 + 3) / 3 = 2 $

== Results
See @method for the procedure.

#table(
  columns: 2,
  [Run], [Value],
  [1], [1],
  [2], [2],
  [3], [3],
)
```

El PDF debería mostrar títulos numerados, una ecuación en bloque, una referencia al método y una tabla de dos columnas.

Para ver cómo cambia el PDF mientras escribes, abre la flecha que hay junto a **Recompilar** y pon **Compilación automática** en **Activada**. En un proyecto de Typst, eso es la vista previa en vivo. Consulta [Vista previa en vivo con la compilación automática](/docs/typst/#live-preview-with-auto-compile).

[Descarga el código del ejemplo](/examples/writing-example.typ)

## Todas las herramientas de la barra

Selecciona texto antes de usar una herramienta de formato para envolver ese texto. Si no hay selección, la barra inserta un marcador de posición sobre el que puedes escribir. Cuando el editor es demasiado estrecho para todos los botones, los que no caben pasan a **Más opciones de formato** (`…`). La mayoría de estas herramientas también están en el menú contextual del editor.

### Código / Visual

El interruptor del principio de la barra cambia cómo se muestra el archivo. **Código** muestra el código de Typst. **Visual** dibuja en su sitio los títulos, el énfasis, las listas, las fórmulas, las imágenes, las tablas, las referencias y las notas al pie, y recupera el código en la línea donde está el cursor. El archivo es el mismo en los dos modos. [El modo Visual en Typst](#visual-mode) tiene los detalles.

### Deshacer

Revierte tu última edición. ⌘Z / Ctrl+Z. El botón aparece en gris cuando no hay nada que deshacer.

### Rehacer

Vuelve a aplicar una edición deshecha. **⌘Shift+Z / Ctrl+Shift+Z**.

### Título → Título

Selecciona un título y elige **Título**. `= Title`.

### Título → Sección

Añade una sección dentro del documento. `== Section`.

### Título → Subsección

Añade un nivel por debajo de una sección. `=== Subsection`.

### Título → Subsubsección

Añade un título de cuarto nivel. `==== Subsubsection`.

### Título → Título menor

Añade un título de quinto nivel. `===== Minor heading`.

### Título → Título de párrafo

Añade un título de sexto nivel. `====== Paragraph heading`.

### Negrita

Selecciona «tres observaciones». `*three observations*`; ⌘B / Ctrl+B.

### Cursiva

Selecciona un término al que dar énfasis. `_term_`; ⌘I / Ctrl+I.

### Subrayado

Selecciona una frase. `#underline[phrase]`.

### Tachado

Marca una frase obsoleta. `#strike[phrase]`.

### Código en línea

Selecciona un nombre de archivo o de variable. Lo rodea de acentos graves.

### Insertar un enlace

Sustituye `url` y luego `text`. `#link("url")[text]`.

### Citar desde el proyecto

Busca en la bibliografía del proyecto por clave, autor o título, y elige una entrada. Oleafly escribe `@key`. Si el documento aún no tiene ninguna llamada a `#bibliography`, Oleafly añade una. **Buscar y añadir una cita nueva…** al final de la lista abre la búsqueda de una fuente nueva. Consulta [Añade citas](#add-citations).

### Insertar una referencia cruzada

Elige una etiqueta de la lista del proyecto para escribir `@label`. En el ejemplo, elige `method` para obtener `@method`. **Añadir una etiqueta aquí** pone, en cambio, una etiqueta nueva en el elemento que hay en el cursor.

### Añadir etiqueta

Coloca el cursor en un título, una figura o una ecuación y elige **Añadir etiqueta**. En el título Results del ejemplo, Oleafly añade `<sec:results>`. Si el elemento ya tiene una etiqueta, el botón la selecciona.

### Insertar una nota al pie

Coloca el cursor después de una palabra. `#footnote[note text]`.

### Insertar una cita en bloque

Coloca el cursor en una línea nueva. `#quote(block: true)[quote]`.

### Insertar una figura

Abre el cuadro de diálogo de figuras. Elige una imagen de **Imágenes del proyecto** o elige **Importar del disco…**, y luego define su ancho, su pie, su etiqueta, su texto alternativo y su posición. Con el cursor dentro de un `#figure` existente, el mismo botón abre **Editar la figura** para que puedas cambiar cualquiera de esos datos. Consulta [Añade una figura con pie](#add-a-captioned-figure).

### Insertar una tabla

Abre la cuadrícula y elige el número de filas y de columnas. Oleafly inserta un `#figure` que contiene una `table` con una fila de encabezado y filetes superior, intermedio e inferior, además de `caption: [Caption]` y la etiqueta `<tab:label>`. Sustituye el pie, la etiqueta y las celdas vacías. Para crear en cambio una tabla a partir de una hoja de cálculo, consulta [Tablas a partir de archivos de datos](#tables-from-data-files).

### Insertar una imagen

Importa una imagen y sustituye el nombre de archivo seleccionado por su ruta relativa. `#image("image-filename")`. También puedes pegar o soltar un archivo de imagen en el editor; Oleafly lo guarda en el proyecto e inserta una figura que lo usa.

### Dibujar un diagrama

Abre el [compositor de diagramas](/docs/figures-diagrams/) en modo Typst. Dibuja en el lienzo o edita el código de fletcher y luego elige **Insertar como Typst** para colocar el diagrama en el cursor. La primera vista previa descarga el paquete fletcher de Typst Universe, así que necesitas conexión para ello.

### Imagen a Typst

Elige una captura de pantalla de una ecuación o de un texto y se transcribe a Typst en el cursor. Usa el modelo para Herramientas, un modelo local de Ollama salvo que elijas otro. Si no has elegido ninguno y Ollama no está en ejecución o no tiene ningún modelo que lea imágenes, usa en su lugar el modelo del asistente, y la imagen va a ese proveedor. Revisa el resultado y compílalo.

### Lista → Lista con viñetas

Empieza una lista de observaciones. `- Item`.

### Lista → Lista numerada

Empieza una secuencia de pasos. `+ Item`.

### Fórmula

Selecciona `x` y haz clic en el icono de fórmula. `$x$`.

### Ecuación en bloque

Una ecuación en su propia línea. `$ x $`, con un espacio dentro de cada `$`.

### Ecuación numerada

Una ecuación en bloque con una etiqueta, como `$ x $ <eq:label>`. Typst numera las ecuaciones solo cuando el documento tiene una regla de numeración. Si el tuyo no la tiene, una nota ofrece **Añadir regla**, que añade `#set math.equation(numbering: "(1)")` cerca del principio del archivo.

### Ecuaciones alineadas

Varias ecuaciones alineadas en `&`, con `\` entre filas. `$ a &= b \ c &= d $`.

### Fracción

Inserta `frac(a, b)`, envuelto en `$` cuando el cursor no está ya en una fórmula. Si hay texto seleccionado, la selección pasa a ser el numerador.

### Símbolos

Abre el selector de símbolos, busca un símbolo y selecciónalo. Oleafly lo escribe con su nombre en Typst: `arrow.r` dentro de una fórmula o `#sym.arrow.r` en el texto corrido.

### Bloque de código

Selecciona varias líneas de código o sustituye el marcador de posición. Un bloque delimitado por tres acentos graves. Añade un lenguaje después de la valla de apertura para el resaltado.

### Inteligencia de código → Ir a la definición

Coloca el cursor en una etiqueta, una variable o una función y elige la acción, o pulsa F12. Abre el lugar donde está definida, incluso en otro archivo.

### Inteligencia de código → Buscar referencias

Enumera todos los lugares donde se usa una etiqueta, una variable o una función. ⇧F12.

### Inteligencia de código → Renombrar el símbolo

Cambia el nombre de una etiqueta, una variable o una función en todo el proyecto. F2. [Inteligencia de código](/docs/code-intelligence/#typst-files) trata los tres casos.

### Paquetes de Typst

El icono de paquete en el extremo derecho de la barra busca en Typst Universe e inserta una línea `#import`. Más en [Paquetes, ajustes y análisis](#packages-settings-and-insights).

### Análisis del documento

Enumera los títulos, las figuras, las tablas, las ecuaciones, las etiquetas, las citas y las tareas pendientes del documento, cada uno enlazado con su línea. Consulta [Análisis del documento](/docs/document-insights/).

### Ajustes del documento

Cambia el tamaño de página, los márgenes, la tipografía, el idioma, la justificación, el interlineado y la numeración editando las reglas `#set` del documento. Consulta [Ajustes del documento](/docs/document-settings/).

### Información del proyecto

Muestra el recuento de palabras, de figuras y de fórmulas del documento y de cualquier selección, además de los resultados de la corrección.

### Buscar

Busca una palabra en el archivo activo. ⌘F / Ctrl+F.

### Ir al PDF

Salta desde el cursor al lugar correspondiente del PDF compilado. El botón aparece en Typst 0.13 y posteriores. Consulta [Salta entre el código y el PDF](#jump-between-the-source-and-the-pdf).

## Modo visual

Cambia la barra de **Código** a **Visual** en cualquier archivo `.typ`. El modo visual es el mismo editor, con el marcado dibujado en su sitio:

- títulos, texto en negrita y en cursiva, texto sin formato (raw), enlaces y texto en color
- listas con viñetas, numeradas y de términos, con sus marcadores
- fórmulas en línea y en bloque, dibujadas por Typst
- imágenes y figuras, con el pie mostrado como texto
- tablas como una cuadrícula en la que puedes escribir. Selecciona una celda para obtener una barra pequeña con bordes, alineación, filas y columnas.
- referencias y citas como etiquetas (chips), y notas al pie como una marca pequeña

Coloca el cursor en una línea y su código reaparece para que puedas editarlo. Aléjate y vuelve a verse la forma dibujada. Las líneas `#set`, `#show`, `#import` y `#let` del principio del archivo se pliegan en una barra **Mostrar los ajustes del documento**, en la que puedes hacer clic para abrirla. Todo lo que el modo visual no sabe dibujar se queda en pantalla como código. Cada botón de la barra escribe el mismo Typst en los dos modos, y los números de línea, la búsqueda, la ortografía y los errores de compilación siguen funcionando.

Los proyectos nuevos se abren en Código y cada proyecto recuerda el modo en que lo dejaste. [Edición visual](/docs/editor/#visual-editing) trata el interruptor para los tres lenguajes.

## Ayuda mientras escribes

Los archivos de Typst reciben las mismas ayudas que los de LaTeX, escritas para la sintaxis de Typst:

- Haz clic en la flecha del margen para plegar un título hasta el siguiente título del mismo nivel. También se pliegan los bloques de código, los bloques de contenido, las ecuaciones y las listas largas de argumentos. Consulta [Plegado de código](/docs/editor/#code-folding).
- Al desplazarte, los títulos que hay sobre el cursor se quedan fijados en la parte superior del editor. Una barra de migas sobre el archivo indica la sección en la que estás, y al hacer clic en una miga saltas a ese título.
- Al escribir `$` se añade el `$` de cierre, y un espacio dentro del par vacío lo convierte en una fórmula en bloque. En un elemento de lista, Enter empieza el elemento siguiente. [Ayudas de escritura en Typst](/docs/editor/#typst-typing-aids) enumera el resto.
- El servidor de lenguaje de Typst completa funciones, rutas de archivos, etiquetas, claves de citas, paquetes y estilos de bibliografía. Consulta [Autocompletado en Typst](/docs/autocomplete/#typst-completion).
- Escribe `/` al principio de una línea, o después de un espacio, para ver fragmentos: títulos, figuras, tablas, ecuaciones, notas al pie, un índice, una bibliografía y más.
- ⌘/ / Ctrl+/ comenta o descomenta con `//` las líneas seleccionadas.

### Vista previa de las fórmulas

Con el cursor dentro de una ecuación, Typst dibuja el resultado justo encima. El menú de la vista previa puede ocultarla hasta que salgas de la ecuación o desactivarla.

Pega una fórmula de LaTeX como `$\frac{a}{b}$` en un archivo de Typst y debajo aparece un botón **Pegar como fórmula de Typst**. Haz clic en él para sustituir lo que has pegado por una fórmula de Typst, o pulsa Esc para conservar el LaTeX. Para una fórmula de LaTeX que ya esté en el archivo, selecciónala y elige **Convertir fórmulas de LaTeX a Typst** en el menú contextual. Para conversiones puntuales, la herramienta [De ecuación a Typst](/docs/tools/equation-to-typst/) hace lo mismo fuera de un proyecto.

## Añade una figura con pie

1. Elige **Insertar una figura** en la barra de herramientas.
2. Elige `plot.png` en **Imágenes del proyecto** o elige **Importar del disco…** para copiarlo al proyecto.
3. Elige **Tres cuartos del ancho**, y activa **Añadir un pie** y **Añadir una etiqueta**. Escribe el pie y la etiqueta `fig:measurements`.
4. Añade un **Texto alternativo** que describa la imagen para los lectores de pantalla y elige una **Posición** si la figura debe flotar en la parte superior o inferior de la página.
5. Elige **Insertar una figura**.

Oleafly escribe una figura como esta:

```typst
#figure(
  image("figures/plot.png", width: 75%),
  caption: [Measurements across three runs.],
) <fig:measurements>

See @fig:measurements for the comparison.
```

Para cambiar la figura más adelante, coloca el cursor dentro de ella y elige otra vez **Insertar una figura**. El cuadro de diálogo se abre como **Editar la figura** con los valores actuales.

## Tablas a partir de archivos de datos

Haz clic con el botón derecho en el editor y elige **Tabla desde CSV o XLSX…**. Elige un archivo CSV, TSV, de Excel o JSON, revisa la vista previa y añade un pie y una etiqueta si quieres. **Insertar en el cursor** escribe una tabla de Typst con las mismas reglas que la tabla de la barra de herramientas. El texto de las celdas que Typst leería como marcado se escapa.

Activa **Mantener vinculada al archivo de datos** para que la tabla siga unida a sus datos. Oleafly copia los datos en la carpeta `data` del proyecto y la tabla lee ese archivo cada vez que se compila el documento. Edita el archivo y la tabla cambia en la siguiente compilación. [Importa una tabla desde un archivo de datos](/docs/writing/tables-equations/#import-a-table-from-a-data-file) trata el cuadro de diálogo al completo.

## Añade citas

Cita con **Citar desde el proyecto**, o escribe `@` y elige una clave de la lista de autocompletado. Una clave de cita y una etiqueta del documento usan ambas `@` en Typst; la bibliografía o la etiqueta aportan el destino.

Pon la bibliografía donde quieras que aparezca la lista de referencias:

```typst
#bibliography("references.bib")
```

El archivo puede ser BibTeX (`.bib`) o Hayagriva (`.yml`), y la llamada puede nombrar una lista de archivos. Una cita que añades desde [Referencias y citas](/docs/citations/) va al archivo que declara el documento, convertida a Hayagriva cuando ese archivo lo necesita. Para cambiar el estilo de las referencias, usa el menú **Estilo de cita** que hay al final del panel Referencias, que escribe por ti el argumento `style:`. Consulta [Elige un estilo de cita de Typst](/docs/citations/#choose-a-typst-citation-style).

## Paquetes, ajustes y análisis

Tres botones del extremo derecho de la barra actúan sobre todo el documento:

- **Paquetes de Typst** busca en Typst Universe y escribe la línea `#import`. Cuando una importación nombra una versión anterior, el editor se ofrece a actualizarla. Un proyecto también puede guardar sus propias copias de sus paquetes para compilar sin conexión. Consulta [Paquetes](/docs/packages/#typst-packages) y [Paquetes de Typst Universe](/docs/typst/#packages-from-typst-universe).
- **Análisis del documento** enumera los títulos, las figuras, las tablas, las ecuaciones, las etiquetas, las citas y las tareas pendientes, y copia el título, los autores, las palabras clave y el resumen para un formulario de envío. Typst lee el documento al abrir el cuadro de diálogo, así que los números y las páginas están al día. Consulta [Análisis del documento](/docs/document-insights/).
- **Ajustes del documento** cambia el tamaño de página, los márgenes, las columnas, la tipografía del texto, el tamaño, el idioma, la justificación, el interlineado y la numeración de títulos y ecuaciones. Oleafly escribe tus elecciones en las reglas `#set` del archivo principal. También guarda las variantes de compilación del proyecto. Consulta [Ajustes del documento](/docs/document-settings/).

## Errores y comprobaciones

Cuando una compilación falla, cada error aparece subrayado en su archivo, sobre el tramo exacto que indica Typst. Pasa el cursor por el subrayado para leer el mensaje y las pistas de Typst. Los errores habituales, como un nombre desconocido, un archivo o un paquete que faltan o un corchete sin cerrar, vienen con una explicación sencilla. Consulta [Errores de compilación en el código](/docs/editor/#compile-errors-in-the-source).

[Ortografía y gramática](/docs/spellcheck-grammar/) revisan el texto de los archivos de Typst, incluidos los pies, las celdas de las tablas y los campos de plantilla como `abstract:`, y omiten el código. [Preflight](/docs/preflight/#typst-projects) comprueba en el código de Typst las referencias y citas sin resolver, el texto alternativo que falta, las imágenes que faltan, los metadatos del documento y los problemas de revisión ciega.

## Salta entre el código y el PDF

Elige **Ir al PDF** en la barra o pulsa ⌘⇧J / Ctrl+Shift+J para saltar desde el cursor a la página. En el PDF, mantén pulsada ⌘ o Ctrl y haz clic en una palabra para volver a su línea, incluso en un archivo incluido con `#include`. La sincronización necesita Typst 0.13 o posterior. Consulta [Sincronización entre el código y el PDF](/docs/synctex/#typst-projects).

## Da formato al archivo

**Formatear el documento** ordena todo el archivo con typstyle. Pulsa ⇧⌥F / Shift+Alt+F o elígelo en el menú contextual. **Formatear la selección** da formato solo a las líneas seleccionadas. Para dar formato cada vez que pulses ⌘S / Ctrl+S, activa **Formatear al guardar** en **Typst**, dentro de **Ajustes → Apariencia → Editor**. Consulta [Da formato a un archivo de Typst](/docs/code-intelligence/#format-a-typst-file).

## Versiones de Typst

Oleafly incluye Typst 0.15.1, y **Ajustes → Motores → Typst** enumera las versiones de Typst de la 0.11 a la 0.15 que puedes descargar. Un proyecto nuevo fija la versión predeterminada, así que sus saltos de línea y su número de páginas se mantienen cuando Oleafly incorpora más adelante un Typst más reciente. Para cambiar la versión de un proyecto, abre la flecha que hay junto a **Recompilar** y elige en **Versión de Typst (este proyecto)**. El servidor de lenguaje sigue la versión del proyecto. [Versiones de Typst](/docs/typst/#typst-versions) explica las versiones fijadas, las versiones que faltan y cómo probar una versión más reciente antes de cambiar.

## Organiza y exporta

Divide un informe largo en archivos e inclúyelos con `#include "sections/method.typ"`. Mantén las figuras, los datos, las tipografías y los archivos de bibliografía dentro del proyecto para que un ZIP del código viaje con todo lo que el documento necesita.

Compila para comprobar el resultado y abre **Exportar**. Ofrece **Exportar como PDF**, **Exportar el código (.zip)**, **Exportar la página como PNG** e **Imágenes y HTML**, que escribe páginas en PNG o SVG, o un archivo HTML, con el propio Typst. En Typst 0.13 y posteriores, las exportaciones a Word, HTML, Markdown, LaTeX y texto sin formato pasan por la propia salida HTML de Typst, de modo que las ecuaciones y las referencias se conservan. Consulta [Exporta y convierte un proyecto](/docs/export/#typst-images-and-html). [Compilación](/docs/compiling/) explica los registros y las opciones de compilación, y [archivos y carpetas](/docs/files/) trata la organización del proyecto.

Para pasar un proyecto de LaTeX existente a Typst, consulta [Convierte un proyecto de LaTeX a Typst](/docs/typst/#convert-a-latex-project-to-typst).
