Typst es un nuevo sistema de composición tipográfica basado en marcas que está diseñado para ser tan potente como LaTeX y al mismo tiempo mucho más fácil de aprender y utilizar. Typst tiene:
Este repositorio contiene el compilador Typst y su CLI, que es todo lo que necesita para compilar documentos Typst localmente. Para disfrutar de la mejor experiencia de escritura, considere registrarse de forma gratuita en nuestro editor colaborativo en línea.
Una breve introducción a Typst está disponible en nuestra documentación. Sin embargo, si desea ver el poder de Typst resumido en una imagen, aquí está:
Analicemos lo que está pasando:
Usamos reglas establecidas para configurar propiedades de elementos como el tamaño de las páginas o la numeración de los encabezados. Al configurar la altura de la página en auto
, se escala para ajustarse al contenido. Las reglas establecidas se adaptan a las configuraciones más comunes. Si necesita control total, también puede usar reglas de presentación para redefinir completamente la apariencia de un elemento.
Insertamos un encabezado con la sintaxis = Heading
. Un signo igual crea un título de nivel superior, dos crean un subtítulo y así sucesivamente. Typst tiene un marcado más ligero como este; consulte la referencia de sintaxis para obtener una lista completa.
Las ecuaciones matemáticas están encerradas entre signos de dólar. Al agregar espacios adicionales alrededor del contenido de una ecuación, podemos colocarla en un bloque separado. Los identificadores de varias letras se interpretan como definiciones y funciones de Typst, a menos que se pongan entre comillas. De esta manera, no necesitamos barras invertidas para cosas como floor
y sqrt
. Y phi.alt
aplica el modificador alt
a phi
para seleccionar una variante de símbolo particular.
Ahora, llegamos a algunas secuencias de comandos. Para ingresar código en un documento Typst, podemos escribir un hash seguido de una expresión. Definimos dos variables y una función recursiva para calcular el enésimo número de Fibonacci. Luego, mostramos los resultados en una tabla alineada al centro. La función de tabla toma sus celdas fila por fila. Por lo tanto, primero pasamos las fórmulas $F_1$
a $F_8$
y luego los números de Fibonacci calculados. Aplicamos el operador de extensión ( ..
) a ambos porque son matrices y queremos pasar los elementos de las matrices como argumentos individuales.
#set page ( width : 10cm , height : auto )
#set heading ( numbering : " 1. " )
= Fibonacci sequence
The Fibonacci sequence is defined through the
recurrence relation $ F_n = F_(n-1) + F_(n-2) $ .
It can also be expressed in _closed form:_
$ F_n = round(1 / sqrt(5) phi.alt^n), quad
phi.alt = (1 + sqrt(5)) / 2 $
#let count = 8
#let nums = range ( 1 , count + 1 )
#let fib ( n ) = (
if n <= 2 { 1 }
else { fib ( n - 1 ) + fib ( n - 2 ) }
)
The first #count numbers of the sequence are:
#align (center, table(
columns: count,
..nums.map(n => $ F_#n $ ),
..nums.map(n => str(fib(n))),
))
La CLI de Typst está disponible desde diferentes fuentes:
Puede obtener fuentes y archivos binarios prediseñados para la última versión de Typst en la página de versiones. Descargue el archivo para su plataforma y colóquelo en un directorio que esté en su PATH
. Para mantenerse actualizado con versiones futuras, simplemente puede ejecutar typst update
.
Puedes instalar Typst a través de diferentes administradores de paquetes. Tenga en cuenta que las versiones en los administradores de paquetes pueden estar retrasadas con respecto a la última versión.
brew install typst
winget install --id Typst.Typst
Si tiene instalada una cadena de herramientas Rust, puede instalar
cargo install --locked typst-cli
cargo install --git https://github.com/typst/typst --locked typst-cli
Los usuarios de Nix pueden
typst
con nix-shell -p typst
nix run github:typst/typst -- --version
. Los usuarios de Docker pueden ejecutar una imagen prediseñadas con docker run ghcr.io/typst/typst:latest --help
.
Una vez que hayas instalado Typst, puedes usarlo así:
# Creates `file.pdf` in working directory.
typst compile file.typ
# Creates PDF file at the desired path.
typst compile path/to/source.typ path/to/output.pdf
También puede ver los archivos fuente y recompilarlos automáticamente según los cambios. Esto es más rápido que compilar desde cero cada vez porque Typst tiene compilación incremental.
# Watches source files and recompiles on changes.
typst watch file.typ
Typst además le permite agregar rutas de fuentes personalizadas para su proyecto y enumerar todas las fuentes que descubrió:
# Adds additional directories to search for fonts.
typst compile --font-path path/to/fonts file.typ
# Lists all of the discovered fonts in the system and the given directory.
typst fonts --font-path path/to/fonts
# Or via environment variable (Linux syntax).
TYPST_FONT_PATHS=path/to/fonts typst fonts
Para conocer otros subcomandos y opciones de CLI, consulte a continuación:
# Prints available subcommands and options.
typst help
# Prints detailed usage of a subcommand.
typst help watch
Si prefiere una experiencia integrada similar a un IDE con autocompletado y vista previa instantánea, también puede consultar la aplicación web gratuita de Typst.
El lugar principal donde se reúne la comunidad es nuestro servidor Discord. No dudes en unirte allí para hacer preguntas, ayudar a otros, compartir cosas interesantes que hayas creado con Typst o simplemente para chatear.
Aparte de eso, hay algunos lugares donde puedes encontrar cosas construidas por la comunidad:
Si tuvo una mala experiencia en nuestra comunidad, comuníquese con nosotros.
Nos encantaría ver contribuciones de la comunidad. Si experimenta errores, no dude en abrir un problema. Si desea implementar una nueva función o corregir un error, siga los pasos descritos en la guía de contribución.
Para compilar Typst usted mismo, primero asegúrese de tener instalada la última versión estable de Rust. Luego, clone este repositorio y cree la CLI con los siguientes comandos:
git clone https://github.com/typst/typst
cd typst
cargo build --release
El binario optimizado se almacenará en target/release/
.
Otra buena forma de contribuir es compartiendo paquetes con la comunidad.
IPA: /taɪpst/. "Ty" como en Ty pesetting y "pst" como en Hi pst er. Cuando escriba sobre Typst, escriba su nombre en mayúscula como nombre propio, con una "T" mayúscula.
Todo Typst ha sido diseñado teniendo en cuenta tres objetivos clave: potencia, simplicidad y rendimiento. Creemos que es hora de crear un sistema que iguale el poder de LaTeX, que sea fácil de aprender y usar, y que al mismo tiempo sea lo suficientemente rápido como para realizar una vista previa instantánea. Para lograr estos objetivos, seguimos tres principios de diseño básicos:
Simplicidad a través de la coherencia: si sabe cómo hacer una cosa en Typst, debería poder transferir ese conocimiento a otras cosas. Si hay varias formas de hacer lo mismo, una de ellas debe tener un nivel de abstracción diferente al de la otra. Por ejemplo, está bien que = Introduction
y #heading[Introduction]
hagan lo mismo porque el primero es solo azúcar de sintaxis para el segundo.
Potencia a través de la componibilidad: Hay dos formas de hacer algo flexible: tener una perilla para todo o tener algunas perillas que puedas combinar de muchas maneras. Typst está diseñado pensando en la segunda forma. Proporcionamos sistemas que usted puede componer de formas que nunca habíamos imaginado. TeX también está en la segunda categoría, pero es de un nivel un poco bajo y, por lo tanto, la gente usa LaTeX en su lugar. Pero ahí realmente no tenemos tanta componibilidad. En cambio, hay un paquete para todo ( usepackage{knob}
).
Rendimiento a través de la incrementalidad: todas las funciones del lenguaje Typst deben adaptarse a la compilación incremental. Afortunadamente tenemos comemo
, un sistema de compilación incremental que hace la mayor parte del trabajo duro en segundo plano.