727 - ¿Todavía sufres con Word para hacer tu tesis o proyecto? Usa Typst

727 - ¿Todavía sufres con Word para hacer tu tesis o proyecto? Usa Typst

Descubre Typst para crear documentos, tesis y proyectos. Es una alternativa más fácil y rápida que Word y LaTeX y muy enfocada en el contenido.

1:25
-3:15

Hace unos pocos días, en el grupo de Telegram de atareao con Linux surgió el tema de como crear un documento de PDF de imágenes pesadas. No es la primera vez que me enfrento a un problema similar. En otras otra ocasiones, he tenido que crear informes en Microsoft Word con centenares de imágenes, y es algo realmente intratable. Pero no solo se trata de este tipo de informes. ¿No sería brutal poder escribir en Markdown o similar con formato?. Esto es algo que comencé a hacer con los libros de Bash, Docker, etc. Pero, en esa ocasión utilizaba una plantilla de LaTeX para el objetivo final. Pero se puede combinar la potencia de Markdown con LaTeX utilizando otro lenguaje de marcado similar al primero, pero con la potencia del segundo, con Typst. No es la primera vez que te hablo de Typst, en concreto en el episodio 561 titulado Typst es brutal y en el episodio 595 titulado Presentaciones en minutos con Typst. Rápido y fácil, ya lo introduje. Sin embargo, siempre me quedo con que todavía seguimos utilizando las herramientas incorrectas para realizar el trabajo. Hacer un informe, una tesis, un proyecto fin de grado o un un proyecto fin de carrera, utilizando Word, que es como yo lo hice en su momento, me parece algo realmente absurdo, existiendo herramientas como Typst, que te permiten hacerlo mejor y mas rápido. Es mas, hoy en día, tomaría apuntes directamente en Typst para luego tener toda la documentación directamente formateada. Así en este episodio, te voy a dar las razones para utilizar Typst, te voy a mostrar cuatro ejemplos de documentos de todo tipo realizados con Typst y además te daré tres opciones para crear tus documentos con Typst.

¿Todavía sufres con Word para hacer tu tesis o proyecto?. Usa Typst.

Cuatro ejemplos de documentos realizados con Typst

Un álbum de fotos

El primer ejemplo es pensando precisamente en el tema que surgió en el grupo de Telegram atareao con Linux. En este caso es directamente un documento, ni siquiera una plantilla, que he realizado para poner en valor la potencia que ofrece Typst. Ojo, que es un ejemplo, y que tiene todavía trabajo para dejarlo como a mi me gusta.

Pero si te das cuenta, simplemente es necesario pasar un listado de títulos y nombre de archivos y listo, con eso ya lo tendrías todo.

De echo, esta mañana estaba escuchando a Antonio Manfredi del podcast Tecnocincuentones, que precisamente hablaba de algo similar, pero utilizando un servicio en línea, para convertir un bloque de fotos en una presentación, para posteriormente poder tomar notas sobre ella. En este caso, utilizar Typst, tiene mucho mas sentido si cabe, porque directamente, lo vas a poder realizar de una forma mas natural.

Un libro

El segundo ejemplo es la plantilla que estoy utilizando para escribir los libros de Bash, Docker, etc. En este caso, la plantilla es algo mas compleja, pero el resultado es brutal. Y si te fijas, como toda la lógica está en la plantilla, escribir el libro es simplemente escribir el contenido. No me tengo que preocupar para nada de formatos, tipografías, etc. Simplemente tengo que escribir.

En este libro cada capítulo es un documento de Typst, pero es sin lugar a dudas la mejor manera de gestionar un documento largo.

Aquí tengo que hacer una observación, sobre todo si eres muy tiquismiquis. Hacer la plantilla es relativamente fácil, pero, es un no parar. Si no te pones un límite te puedes encontrar retocando la plantilla día si, día también. Así que hay que poner un límite.

Un CV

No podía faltar un CV en los ejemplos. En este caso este CV está realizado directamente utilizando la plantilla metronic, que está disponible desde el Universo de Typst, y que es precisamente otra de las características realmente interesantes de Typst, la posibilidad de utilizar plantillas y paquetes.

En este caso, la plantilla está muy enfocada en el CV, y trabajar con ella no es nada cómodo desde mi punto de vista. Lo mejor es tener una solución como el caso del libro, donde toda la lógica queda aparte y tu solo tienes que centrarte en el contenido. Sin embargo, entiendo este enfoque para algo tan particular como es un CV, donde la presentación es fundamental.

Un paper científico

No podía faltar un documento científico, y en este caso, al igual que el anterior he utilizado un paquete que se encuentra en el Universo de Typst, en concreto el paquete accelerated-jacow.

Este ejemplo, lo he querido traer para mostrar el potencial de Typst, ya que es un documento realmente complejo, con muchas fórmulas, imágenes, tablas, etc. Y el resultado es exactamente igual al que podrías conseguir con LaTeX, pero de una forma mucho mas simple.

Como editar con Typst

Aquí te traigo cuatro opciones para editar con Typst. Empezando por utilizar la propia versión en línea de Typst, tanto en su modalidad gratuita como de pago, hasta terminar en la solución que utilizo yo.

Typst en línea

La primera opción, y esta es realmente recomendable para el caso de que quieras trabajar en equipo es utilizar Typst en línea. En este caso, tienes una versión gratuita, que te permite crear y editar proyectos, colaboración, utilizar paquetes y plantillas de la comunidad, convertir archivos de distintos formatos, y un almacenamiento de hasta 200 MB y 100 archivos por proyecto.

La versión de pago, es de 80 €/año, y además incorpora la posibilidad de revisar con comentarios, creación de tus propias plantillas y paquetes, sincronización con GitHub y GitLab, y hasta 2 GB y 1000 archivos por proyecto.

Como te decía, esta es la opción mas interesante para el caso de que quieras colaborar en línea.

Katvan

Se trata de un editor gráfico para documentos Typst. Está disponible para Windows y Linux, y en el caso de Linux tienes la opción de AppImage, y también de forma experimental para MacOS.

Las características de esta herramienta son las siguientes,

  • Resaltado de sintaxis
  • Corrección ortográfica
  • Autocompletado
  • Funcionalidades típicas de los editores de código, como la autoindentación, inserción de corchetes, etc.
  • Búsqueda hacia adelante e inversa y mas.

Visual Studio Code

Para editar documentos en Typst con Visual Studio Code, solo necesitas una única extensión que no es ni mas ni menos que un LSP (Language Server Protocol) para Typst y que se llama Tinymist.

Algunas de las características de esta extensión son las siguientes,

  • Resaltado semántico. El «resaltado semántico» es complementario al «resaltado de sintaxis».
  • Acciones de código. También conocidas como «correcciones rápidas» o «refactorizaciones».
  • Formato (Reformateo). * Proporciona soporte para dar formato a documentos enteros, usando typstfmt o typstyle.
  • Resaltado de documento. Resalta todos los puntos de interrupción en el contexto de un bucle.
  • Enlaces de documento. Renderiza referencias a rutas o enlaces en el documento, como image("ruta.png") o bibliography(style: "ruta.csl").
  • Símbolos de documento. También conocido como «esquema del documento» o «índice» en Typst.
  • Rangos de plegado. Puedes colapsar bloques de código/contenido y encabezados.
  • Ir a definición. Haz clic derecho en un símbolo y selecciona «Ir a Definición».
  • Referencias. Haz clic derecho en un símbolo y selecciona «Ir a Referencias» o «Buscar Referencias».
  • Consejos al pasar el ratón. También conocido como «tooltip al pasar el ratón».
  • Pistas incrustadas (Inlay hints). Son marcadores especiales que aparecen en el editor y te proporcionan información adicional sobre tu código, como los nombres de los parámetros que un método llamado espera.
  • Proveedor de colores. Visualiza todas las etiquetas de color incrustadas para los literales de color en tu documento.
  • Lentes de código (Code Lens). Debería mostrar botones contextuales junto con el código. Por ejemplo, un botón para exportar tu documento a varios formatos al inicio del documento.
  • Renombrar símbolos y rutas incrustadas
  • Ayuda con firmas de funciones y métodos
  • Símbolos del espacio de trabajo (Workspace Symbols)
  • Acción de código
  • experimental/onEnter
  • Compila a PDF al guardar (configurable para «mientras escribes» u otras opciones)
  • También compila a SVG, PNG, HTML, Markdown, Texto y otros formatos mediante comandos, tareas de VSCode o code lenses.
  • Proporciona pruebas, benchmarks y recolección de cobertura en documentos y módulos
  • Ofrece linting integrado
  • Proporciona un elemento en la barra de estado para mostrar el estado de la compilación del documento actual y el recuento de palabras.

Neovim

Por último y como no podía ser de otra forma, Neovim, que es finalmente la solución que utilizo en combinación con qutebrowser. En este caso en particular, no es necesario que te hable de las características, porque el LSP que utiliza es el mismo que el de Visual Studio Code.

Para la presentación del documento utilizo una extensión conocida como Typst-Preview, y en particular con la siguiente configuración,

return {
  'chomosuke/typst-preview.nvim',
  lazy = false,
  version = '1.*',
  opts = {
        open_cmd = "qutebrowser %s",
    },
}

Esto me permite utilizar qutebrowser para la navegación del documento con los atajos de teclado de Vim.

Por qué utilizar Typst

Pero, ¿Por qué utilizar Typst?,

  • Al igual que sucede con Markdown, con Typst, una vez seleccionada o creada la plantilla, solo te tienes que centrar en el contenido. Ya no te tienes que preocupar mas por el formato. Es mas puedes generar distintos documentos, desde el punto de vista de la estética, con tan solo cambiar la plantilla que estás utilizando.
  • Tiene una sintaxis muy sencilla. Si bien la sintaxis de Typst, no es exactamente igual a la sintaxis de Markdown es muy similar. Pero además te puedes crear tus propias utilidades para facilitarte la escritura de aquellas estructuras que consideres mas compleja. Desde luego es infinitamente más fácil de aprender y utilizar que LaTeX.
  • En cuanto al tiempo que tienes que invertir para convertir un documento en Typst a un PDF, HTML, u otro formato, indicarte que la compilación es muchísimo más rápida que con LaTeX.
  • Si además quieres exprimirlo al máximo, indicarte que se trata de un lenguaje que está orientado a programación. Un lenguaje de scripting integrado que te va a permitir automatizar tareas y simplificar tu trabajo sensiblemente. Esto tiene un potencial brutal.

Conclusión

Desde luego, ya sea que vas a hacer una tesis, un proyecto fin de carrera o proyecto fin de grado, un álbum de fotos, o simplemente quieres tomar notas, este lenguaje de marcado es la solución que estabas buscando.

Una vez seleccionada o creada la plantilla, simplemente tienes que centrar tus esfuerzos en únicamente crear el contenido, y esto es el verdadero potencial

Y por supuesto, quiero recalcar, la posibilidad que tienes de automatizar tus documentos, esto te va a permitir ahorrar mucho trabajo.


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *