Typst
Instalación
Binario global
- Arch Linux:
sudo pacman -S typst - macOS:
brew install typst - Windows:
winget install --id Typst.Typst
Editores de código
- Visual Studio Code: instalar la extensión
myriad-dreamin.tinymist
Notas
- Los archivos usan la extensión
.typ
Configuración global
#set page(paper: "us-letter", margin: 2.54cm)
#set text(font: "Inter", size: 12pt)
#set heading(numbering: "1.")
//#set par(first-line-indent: 1em)
#set par(
first-line-indent: (amount: 1.27cm, all: true),
spacing: 0.65em,
leading: 1em,
justify: true,
)
#set block(spacing: 1.2em)
Texto
- Negrita:
*Negrita* - Cursiva:
_Cursiva_ - Código inline: encerrar entre acentos graves simples. Ejemplo:
`fn main() {}` - Salto de línea:
Contenido contenido.
\
Otro párrafo.
\ \ \
Otro párrafo con tres saltos de línea.
- Texto personalizado:
#text(size: 15pt, weight: "bold")[Texto o contenido con estilo personalizado]
- Alineación:
#align(center)[
#text(size: 16pt, weight: "bold")[Contenido o título centrado]
]
Estructura
- Títulos:
= Título Nivel 1
== Título Nivel 2
=== Título Nivel 3
==== Título Nivel 4
===== Título Nivel 5
====== Título Nivel 6
- Lista desordenada:
- Elemento 1
- Subelemento 1.1
- Subelemento 1.2
- Subelemento 1.2.1
- Subelemento 1.2.2
- Elemento 2
- Elemento 3
- Lista ordenada:
+ Elemento 1
+ Subelemento
+ Subelemento
+ Subelemento
+ Subelemento
+ Elemento 2
+ Elemento 3
Bloques de código
Encerrar el código entre tres acentos graves, igual que en Markdown:
```rs
fn main() {
println!("Hola, mundo!");
}
```
Imágenes y figuras
Imagen simple
#image("img/rust.png")
Figuras
Agrega la etiqueta y numeración automática
- Ajustes
// Solo cambia el estilo de la descripción a _cursiva_
#show figure.caption: emph
// Cambia la posición del texto sobre la imagen o tabla
#set figure.caption(position: top)
// **Figura 1:** _Descripción descripción_
#show figure.caption: it => context [
*#it.supplement~#it.counter.display()#it.separator*#emph(it.body)
]
- Uso
#figure(
image("assets/06-01-02.png"),
caption: "Descripción descripción",
)
#figure(image("img/ferris.svg"), caption: "Ferris, la mascota de Rust")
Grid
#grid(
columns: (40%, 60%),
gutter: 1.5cm,
[#figure(image("img/rust.png"), caption: "Logo de Rust")],
[#figure(image("img/ferris.svg"), caption: "Ferris, la mascota de Rust")],
)
Tablas
#table(
columns: (auto, 1fr),
align: (center, left),
table.header([*Crate*], [*Descripción*]),
[serde], [Serialización y deserialización de datos],
[tokio], [Runtime asíncrono para Rust],
[reqwest], [Cliente HTTP fácil de usar],
)
#table(
columns: 3,
table.header([*Tipo*], [*Descripción*], [*Ejemplo*]),
[i32], [Entero de 32 bits con signo], [let x: i32 = 42;],
[f64], [Flotante de 64 bits], [let y: f64 = 3.14;],
[bool], [Booleano], [let is_active: bool = true;],
[char], [Carácter Unicode], [let letter: char = 'A';],
)