Typst 0.9.0 (31/10/2023)
Gestión de bibliografías
- Nuevo motor de bibliografía basado en CSL (Citation Style Language). Incluye alrededor de 100 estilos de cita de uso común y puede cargar archivos
.cslpersonalizados. - Se agregó el nuevo argumento
forma la funcióncitepara producir distintas formas de citas (p. ej., para producir una cita adecuada para incluirla en prosa) - La función
citeahora toma una única etiqueta/clave en lugar de permitir varias. Las citas adyacentes se combinan y se formatean automáticamente según las reglas del estilo de cita. Esto funciona tanto con la sintaxis de referencia como con llamadas explícitas a la funcióncite. (Cambio incompatible) - La función
citeahora toma una etiqueta en lugar de una cadena de texto (Cambio incompatible) - Se agregó el argumento
fulla la función bibliography para imprimir la bibliografía completa aunque no se hayan citado todas las obras - Las entradas de bibliografía ahora pueden contener ecuaciones de Typst (entre
$..$, igual que en marcado); esto funciona tanto para bibliografías.yamlcomo.bib - Se mejoró el formato YAML de hayagriva. Consultá su registro de cambios para más detalles. (Cambio incompatible)
- Se corrigieron algunos errores en el análisis de archivos
.bib - Se eliminó el argumento
bracketsde la funciónciteen favor deform
Visualización
Degradés y colores (gracias a @Dherse)
- Se agregó compatibilidad con degradés en formas y texto
- Admite degradés lineales, radiales y cónicos
- Se agregó compatibilidad para definir colores en más espacios de color, entre ellos Oklab, RGB(A) lineal, HSL y HSV
- Se agregaron las funciones
saturate,desaturateyrotatesobre colores - Se agregó el módulo
color.mapcon mapas de color predefinidos que se pueden usar con degradés - Se renombró la función
kindde los colores aspace - Se eliminaron las funciones
to-rgba,to-cmykyto-lumaen favor de una nueva funcióncomponents
- Se mejoró el renderizado de rectángulos con radio de esquina y distintos grosores de trazo
- Se agregó compatibilidad para recortar correctamente cajas y bloques con radio de borde
- Se agregó el parámetro
backgrounda las funcionesoverline,underlineystrike - Se corrigió la incrustación imprecisa de colores en PDF
- Se corrigió el manejo de perfiles ICC de imágenes incrustadas en PDF
Texto y diseño
- Se agregó compatibilidad para agregar automáticamente el espaciado adecuado entre texto CJK y latín (habilitado por defecto)
- Se agregó compatibilidad con el ajuste automático de más signos de puntuación CJK
- Se agregó el elemento
quotepara insertar citas en línea y en bloque con atribuciones opcionales - Se agregó el elemento
raw.linepara personalizar cómo se muestra cada línea de texto raw, p. ej., para agregar números de línea manteniendo el resaltado de sintaxis correcto - Se agregó compatibilidad para personalizar el margen interno por lado en la función table
- Se agregaron traducciones al húngaro y al rumano
- Se agregó compatibilidad con la separación silábica del checo
- Se agregó compatibilidad para establecer comillas tipográficas personalizadas
- El separador de figura predeterminado ahora reacciona al idioma y la región establecidos
- Se mejoró el salto de línea de enlaces / URL (especialmente útil para bibliografías con muchas URL)
- Se mejoró el manejo de guiones consecutivos en el algoritmo de justificación
- Se corrigió la interacción entre la justificación y la sangría francesa
- Se corrigió un error con el salto de línea de líneas cortas sin espacios cuando la justificación está habilitada
- Se corrigió la fuente de reserva para el guion que genera la separación silábica
- Se corrigió el manejo del word joiner y otros caracteres de no separación durante la separación silábica
- Se corrigió un fallo al separar en sílabas después de una línea vacía
- Se corrigió el salto de línea de emojis compuestos como 🏳️🌈
- Se corrigió texto faltante en algunos SVG
- Se corrigió la fuente de reserva en SVG
- Se corrigió el comportamiento del argumento
tode la funciónpagebreak - Se corrigió
set align(..)para ecuaciones - Se corrigió el espaciado alrededor de elementos ubicados
- Se corrigió la unificación de los espaciados
aboveybelowcuando se dan en unidades em y los tamaños de fuente difieren - Se corrigió el manejo del parámetro
extentde las funcionesunderline,overlineystrike - Se corrigió un fallo con elementos ubicados de forma flotante sin alineación vertical especificada
- Se corrigió parcialmente un error con citas en notas al pie
Matemática
- Se agregó el argumento
gapa las funcionesvec,matycases - Se agregó el argumento
sizea las funcionesabs,norm,floor,ceilyround - Se agregó el parámetro
reversea la función cases - Se agregó compatibilidad con coeficientes multinomiales en la función
binom - Se eliminó el argumento
rotationde la funcióncancelen favor de un nuevo argumentoangle, más flexible (Cambio incompatible) - Se agregó la constante
wide, que inserta el doble del espaciado dequad - Se agregaron los operadores
cschysech ↼,⇀,↔y⟷ahora se pueden usar como acentos- Se agregaron los símbolos
integral.dash,integral.dash.doubleeintegral.slash - Se agregó compatibilidad para especificar índices negativos en las líneas de aumento y posicionarlas desde atrás
- Se corrigió el color predeterminado de las líneas de aumento de las matrices
- Se corrigió la adjunción de primas a expresiones en línea
- El contenido matemático ahora respeta la configuración de línea base del texto
Rendimiento
- Se corrigió un error relacionado con las reglas show en plantillas que deshabilitaba efectivamente la compilación incremental en los documentos afectados
- Se microoptimizó código en varias rutas críticas, lo que trae mejoras sustanciales de rendimiento, en particular en las compilaciones incrementales
- Se mejoró el análisis sintáctico incremental, que afecta a todo el flujo de compilación incremental
- Se agregó compatibilidad con el análisis sintáctico incremental en la CLI
- Se agregó compatibilidad con la codificación incremental de SVG durante la exportación a PDF, lo que mejora mucho el rendimiento de exportación de documentos con muchos SVG
Herramientas y diagnósticos
- Se mejoró el autocompletado de variables que están en alcance
- Se agregó el autocompletado de importaciones de paquetes
- Se agregó el autocompletado de etiquetas
- Se agregó un tooltip que muestra qué variables captura una función (al pasar el mouse sobre el signo igual o la flecha de la función)
- Los diagnósticos ahora se deduplican
- Se mejoraron los diagnósticos al intentar aplicar
+o-unarios a tipos que solo admiten+y-binarios - Los mensajes de error ahora indican qué etiqueta o clave de cita no está presente en el documento o en su bibliografía
- Se corrigió un error por el cual los errores de análisis de argumentos de funciones quedaban tapados por errores de ejecución de la función (p. ej., al intentar llamar a
array.sortedy pasar la función de clave como argumento posicional en lugar de con nombre).
Exportación
- Se agregó compatibilidad para configurar la
datede creación del documento. Sidatese establece enauto(el valor predeterminado), la fecha de creación del PDF será la fecha y hora actuales. - Se agregó compatibilidad para configurar las
keywords(palabras clave) del documento - Los PDF generados ahora contienen ID de documento PDF
- Los metadatos de la herramienta creadora del PDF ahora incluyen la versión de Typst
App web
- Se agregó un selector de versión para fijar un proyecto a una versión anterior del compilador (con compatibilidad con Typst 0.6.0 o posterior)
- Se corrigieron desincronizaciones entre el editor y el compilador y se mejoró la estabilidad general
- Ahora la app sigue resaltando el documento mientras se escribe durante la compilación
Interfaz de línea de comandos
- Se agregó compatibilidad para descubrir fuentes mediante fontconfig
- Ahora limpia la pantalla en lugar de reiniciar la terminal
- Ahora elige automáticamente la extensión de archivo correcta para el formato de salida seleccionado
- Ahora solo regenera las imágenes de las páginas modificadas al usar
typst watchcon exportación a PNG o SVG
Mejoras varias
- Se agregaron el tipo
versiony la constantesys.version, que indican la versión actual del compilador. Se pueden usar para admitir varias versiones de forma elegante. - Ahora se usa el SIGNO MENOS U+2212 al mostrar un valor numérico, en el
reprde cualquier valor numérico y para reemplazar un guion normal en modo texto cuando va antes de un dígito. Esto mejora, en particular, cómo se muestran los enteros negativos en modo matemático. - Se agregó compatibilidad para especificar un valor predeterminado en lugar de fallar en la función
removede array y diccionario - Se simplificaron los ejemplos de la Guía de configuración de página
- Se cambió en la documentación la palabra “hashtag” por “hash” donde corresponde
- Se agregó compatibilidad con
array.zipsin más argumentos - Se corrigió un fallo cuando un plugin intentaba leer memoria fuera de rango
- Se corrigieron fallos al manejar longitudes infinitas
- Se corrigieron errores de introspección (sobre todo de bibliografía) por un salto de página débil cerca del final del documento
Desarrollo
- Se extrajo
typst::idea un crate separado,typst_ide - Se quitaron algunas restricciones
'staticrestantes sobre&dyn World - Se quitó una dependencia innecesaria, lo que reduce el tamaño del binario
- Se corrigió la compilación de
typstpor sí solo (sintypst-library) - Se corrigieron advertencias con el flake de Nix al usar
lib.getExe
Colaboradores
¡Gracias a todos los que contribuyeron a esta versión!