Cambios en las primeras versiones de Typst, sin numerar
28 de marzo de 2023
Cambios incompatibles:
- Las enumeraciones ahora requieren un espacio después de su marcador; es decir,
1.okahora debe escribirse1. ok - Se cambió el estilo predeterminado de las listas de términos: ya no incluye dos puntos y tiene un poco más de sangría
- Las enumeraciones ahora requieren un espacio después de su marcador; es decir,
Interfaz de línea de comandos
- Se agregó el argumento
--font-patha la CLI - Se incrustaron las fuentes predeterminadas en el binario de la CLI
- Se corrigió la compilación de la CLI cuando
gitno está instalado
- Se agregó el argumento
Mejoras varias
- Se agregó compatibilidad para desactivar los delimitadores de matrices y vectores. En general con
#set math.mat(delim: none)o puntualmente con$mat(delim: #none, 1, 2; 3, 4)$. - Se agregó el argumento
separatora las listas de términos - Se agregó la función
roundpara ecuaciones - Las numeraciones ahora admiten ceros. Para reiniciar un contador, podés escribir
#counter(..).update(0) - Se agregó documentación de los métodos
page()yposition()del tipolocation - Se agregaron símbolos para el acento de punto doble, triple y cuádruple
- Se agregaron comillas tipográficas para el noruego bokmål
- Se agregó un flake de Nix
- Se corrigió el orden de la bibliografía en el estilo IEEE
- Se corrigió el análisis de decimales en matemática:
$1.2/3.4$ - Se corrigió el análisis de delimitadores desbalanceados en fracciones:
$1/(2 (x)$ - Se corrigió el análisis inesperado de números como enumeraciones, p. ej., en
1.2 - Se corrigió la combinación de relleno de página y encabezado
- Se corrigió un fallo del compilador si se usa
repeaten una página de ancho automático - Se corrigieron las matrices con delimitador explícito
- Se corrigió la propiedad
indentde las listas de términos - Numerosas correcciones de documentación
- Los enlaces en las bibliografías ahora se ven afectados por el estilo de enlaces
- Se corrigió el pasar el mouse sobre comentarios en la app web
- Se agregó compatibilidad para desactivar los delimitadores de matrices y vectores. En general con
21 de marzo de 2023
Gestión de referencias y bibliografía
- Bibliografías y citas (los estilos admitidos por ahora son APA, Chicago autor-fecha, IEEE y MLA)
- Ahora podés referenciar secciones, figuras, fórmulas y obras de la bibliografía con
@label Podés hacer que un elemento sea referenciable con una etiqueta:
= Introduction <intro>$ A = pi r^2 $ <area>
Sistema de introspección para interacciones entre distintas partes del documento
Función
counter- Accedé a los contadores de páginas, títulos, figuras y ecuaciones y modificalos
- Definí y usá tus propios contadores personalizados
- Viaje en el tiempo: averiguá cuál era o será el valor del contador en otro punto del documento (p. ej., al armar una lista de figuras, podés determinar el valor del contador de figuras en cada figura).
- Los contadores cuentan en orden de diseño y no en orden de código
Función
state- Administrá estado arbitrario en todo tu documento
- Viaje en el tiempo: averiguá el valor de tu estado en cualquier posición del documento
- El estado se modifica en orden de diseño y no en orden de código
Función
query- Encontrá todas las apariciones de un elemento o de una etiqueta, ya sea en todo el documento o antes/después de cierta ubicación
- Enlazá a elementos, averiguá su posición en las páginas y accedé a sus campos
- Ejemplos de uso: una lista de figuras personalizada o un encabezado de página con el título del capítulo actual
Función
locate- Determina la ubicación de sí misma en el diseño final
- Se puede acceder a ella para obtener
pagey las coordenadasx,y - Se puede usar con contadores y estado para averiguar sus valores en esa ubicación
- Se puede usar con consultas para encontrar elementos antes o después de su ubicación
Nueva función
measure- Mide el tamaño ya diseñado de los elementos
- Pensada para usarse junto con la nueva función
style, que permite generar distinto contenido según el contexto de estilo en el que se inserta algo (porque eso afecta el tamaño medido del contenido)
Representación de contenido expuesta
- El contenido ya no es opaco
- El contenido se puede comparar por igualdad
- El árbol de elementos de contenido se puede recorrer con código
- Se puede observar en los tooltips al pasar el mouse o con
repr - Nuevos métodos sobre contenido:
func,has,atylocation - Todos los campos opcionales de los elementos ahora se pueden configurar con set
- Nombres de campo más uniformes (
heading.titlepasa a serheading.body,list.itemspasa a serlist.childreny algunos cambios más)
Más mejoras
- Se agregó la función
figure - Se agregó el parámetro
numberinga la función equation - Se agregaron los parámetros
numberingynumber-aligna la función page - Los parámetros
headeryfooterde la función page ya no aceptan funciones. Si querés personalizarlos según el número de página, usá el nuevo parámetronumberingo la funcióncounter. - Se agregaron los parámetros
footer-descentyheader-ascent - Mejor alineación predeterminada en encabezado y pie de página
- Se corrigió la ubicación de las vocales en árabe
- Se corrigieron problemas de incrustación de fuentes en PDF
- Se renombró
math.formulaamath.equation - Ahora la familia de fuentes debe ser un argumento con nombre:
#set text(font: "..") - Se agregó compatibilidad con la sangría francesa
- Se renombró la
indentde los párrafos afirst-line-indent - Logaritmo más preciso cuando la base es
2o10 - Se mejoraron algunos mensajes de error
- Se corrigió el diseño de la lista
terms
- Se agregó la función
Mejoras de la app web
- Se agregó una galería de plantillas
- Se agregaron botones para insertar títulos, ecuaciones, bloques raw y referencias
- Saltá al código fuente de algo haciendo clic en el panel de vista previa (funciona con texto, ecuaciones, imágenes y más)
- Ahora podés subir tus propias fuentes y usarlas en tu proyecto
- La depuración al pasar el mouse y el autocompletado ahora tienen en cuenta varios archivos y funcionan en reglas show
- Los tooltips ahora colapsan automáticamente varios valores iguales consecutivos
- La vista previa ahora se desplaza automáticamente al lugar correcto mientras escribís
- Los enlaces ahora se pueden hacer clic en el área de vista previa
- La barra de herramientas, la vista previa y el editor ahora se pueden ocultar
- Se agregó el autocompletado de etiquetas de lenguaje de bloques raw
- Se agregó el autocompletado en archivos SVG
- Nuevo botón de volver en lugar del botón de cuatro puntos
- Muchísimas correcciones de errores
25 de febrero de 2023
Cambios de fuentes
- Nueva fuente predeterminada: Linux Libertine
- Nueva fuente predeterminada para bloques raw: DejaVu Sans Mono
- Nueva fuente predeterminada para matemática: el peso Book de New Computer Modern Math
- Muchas fuentes matemáticas nuevas disponibles
- Se eliminaron las fuentes Latin Modern en favor de la familia New Computer Modern
- Se eliminaron las fuentes de versalitas innecesarias, que ya son accesibles a través de la fuente principal correspondiente y la función
smallcaps
- Se mejoró el espaciado predeterminado de los títulos
- Se agregó la función
panic - Se agregaron los métodos
clustersycodepointspara cadenas de texto - Compatibilidad con varios autores en
set document - Se corrigió un fallo cuando se accede a una cadena en una posición que no es un límite de carácter
- Se corrigió el análisis del punto y coma en
#var ; - Se corrigió el análisis incremental al insertar una barra invertida al final de
#"abc" - Se corrigieron los nombres de algunas familias de fuentes (incluidas Noto Sans Symbols y las familias New Computer Modern)
- Se corrigió el autocompletado de familias de fuentes
- Se mejoró la compilación incremental para funciones definidas por el usuario
15 de febrero de 2023
- Box y block ganaron las propiedades
fill,stroke,radiuseinset - Los bloques ahora pueden tener un tamaño explícito; los bloques de altura fija igualmente se pueden dividir entre páginas
- Ahora se puede configurar si los bloques son
breakableo no - El estilo de numeración ahora se puede configurar para enumeraciones anidadas
- Los marcadores ahora se pueden configurar para listas anidadas
- La función
evalahora espera código en lugar de marcado y devuelve un valor arbitrario. El marcado igualmente se puede evaluar encerrando la cadena entre corchetes. - Los PDF generados por Typst ahora contienen metadatos XMP
- Los cuadros de enlace ahora están desactivados en la salida PDF
- Las tablas ya no producen celdas vacías pequeñas antes de un salto de página
- Se corrigió un error de resaltado de bloques raw
12 de febrero de 2023
- Las formas, imágenes y transformaciones (move/rotate/scale/repeat) ahora son de bloque. Para integrarlas en un párrafo, usá una
box, igual que con otros elementos. - Ahora se requieren dos puntos en una regla show de “todo”: escribí
show: it => ..en lugar deshow it => ... Esto evita estados intermedios que arruinan todo tu documento. - El contenido que no es matemático, como una forma o una tabla dentro de una fórmula matemática, ahora se centra verticalmente
- Compatibilidad con la prevención de viudas y huérfanas dentro de contenedores
- Compatibilidad con RTL en listas, grillas y tablas
- Compatibilidad con el dimensionamiento explícito
autopara cajas y formas - Compatibilidad con anchos fraccionarios (es decir,
1fr) para cajas - Se corrigió un error por el cual las columnas saltaban a la página siguiente
- Se corrigió un error por el cual los elementos de lista no tenían interlineado
- Se corrigió el dimensionamiento relativo en listas, cuadrados y columnas automáticas de grillas
- Se corrigió el desplazamiento relativo en la función
place - Se corrigió que las líneas no tuvieran tamaño
- Se corrigió un error por el cual
set document(..)se quejaba de estar después de contenido - Se corrigió el análisis de la operación
not in - Se corrigieron los tooltips al pasar el mouse en matemática
- Se corrigió un error por el cual una regla show de título no podía contener un salto de página cuando hay un índice
- Se agregó la propiedad
baselineabox - Se agregaron los operadores
tgyctgen matemática - Se agregó la configuración de delimitador a la función
cases - Ahora se incluyen los paréntesis al aceptar un autocompletado de función
2 de febrero de 2023
- Se fusionaron los símbolos de texto y de matemática y se renombraron algunos símbolos (incluido
inftyainfinity, con el aliasoo) - Se corrigieron asignaciones de cursiva faltantes
- La corrección de cursiva matemática ahora se aplica correctamente
- Los paréntesis ahora escalan en
$zeta(x/2)$ - Se corrigió la ubicación del índice de una raíz grande
- Se corrigió el espaciado en
$abs(-x)$ - Se corrigió la inconsistencia entre texto e identificadores en matemática
- Los acentos ahora se ignoran al posicionar superíndices
- Se corrigió la alineación vertical en matrices
- Se corrigió la regla set de
texten la regla show deraw - Los marcadores de títulos y listas ahora se analizan de forma coherente
- Ahora se permite matemática arbitraria directamente en el contenido
30 de enero de 2023
Ir a la entrada del blog con el anuncio.
Nueva sintaxis de expresiones en marcado/matemática
- Los bloques ya no se pueden incrustar directamente en el marcado
- Como las demás expresiones, ahora requieren un numeral inicial
- Hay más expresiones disponibles con el numeral, incluidos los literales (
#"string"), así como el acceso a campos y la llamada a métodos sin espacio:#emoji.face
Nueva sintaxis de importación
#import "module.typ"crea un enlace con el nombremodule#import "module.typ": a, bo#import "module.typ": *para importar elementos#import emoji: face, turtlepara importar desde un módulo ya enlazado
Nuevo manejo de símbolos
- Se eliminó la notación de símbolos
- Los símbolos ahora están en módulos:
sym,emojiymath - El módulo math también reexporta todo
sym - Se modifican mediante acceso a campos, y siguen sin depender del orden
- Ya no se permiten modificadores desconocidos
- Compatibilidad con definiciones de símbolos personalizadas con la función
symbol - Ahora los símbolos aparecen listados en la documentación
Nuevo módulo
math- Contiene todas las funciones relacionadas con la matemática
- Las variables y llamadas a funciones directamente en matemática (sin numeral) acceden a este módulo en lugar del alcance global, pero también pueden acceder a variables locales
- Se puede usar explícitamente en código, p. ej.,
#set math.vec(delim: "[")
Emparejamiento de delimitadores en matemática
- Cualquier delimitador de apertura coincide con cualquiera de cierre
- Cuando coinciden, escalan automáticamente
- Para evitar el escalado, escapalos
- Para forzar la coincidencia de dos delimitadores, usá la función
lr - Puede haber saltos de línea entre delimitadores emparejados
- Los delimitadores también pueden estar desbalanceados
- También podés usar la función
lrpara escalar manualmente los paréntesis (o solo uno) a un tamaño específico
Matemática de varias líneas con alineación
- El carácter
\inserta un salto de línea - El carácter
&define un punto de alineación - Los puntos de alineación también funcionan con llaves inferiores, vectores, casos y matrices
- Se admiten varios puntos de alineación
- El carácter
Llamadas a funciones matemáticas más potentes
- Las llamadas a funciones directamente en matemática ahora pueden recibir expresiones de código con numeral
- Ahora también pueden recibir argumentos con nombre
- Dentro de las llamadas a funciones matemáticas, los puntos y coma convierten los argumentos anteriores en arrays para admitir matrices:
$mat(1, 2; 3, 4)$
Contenido arbitrario en matemática
- Ahora se pueden incrustar en matemática texto, imágenes y otro contenido arbitrario
- La matemática ahora también admite fuente de reserva para soportar, p. ej., CJK y emojis
Más funciones matemáticas
- Nuevos operadores de texto: función
op,lim,max, etc. - Nueva función de matriz:
mat - Nuevas raíces n-arias con la función
root:$root(3, x)$ - Nuevas llaves, corchetes y líneas, inferiores y superiores
- Nuevas funciones
absynorm - Nuevos atajos:
[|,|]y|| - Nueva función
attach, con adjuntos reemplazables mediantescriptylimit - Espaciado manual en matemática, con
h,thin,med,thickyquad - Los símbolos y otro contenido ahora se pueden usar como una función, p. ej.,
$zeta(x)$ - Se agregó la fuente Fira Math y se quitó la fuente Noto Sans Math
- Compatibilidad con fuentes matemáticas alternativas mediante
#show math.formula: set text("Fira Math")
- Nuevos operadores de texto: función
Más mejoras de la biblioteca
- Nuevo módulo
calc, al que se movieronabs,min,max,even,oddymod - Nuevo argumento
messageen la funciónassert - El método
pairsde los diccionarios ahora devuelve un array de arrays de longitud 2 en lugar de recibir una función - La llamada al método
dict.at("key")ahora siempre falla si"key"no existe. Antes se permitía en asignaciones. Las alternativas sondict.key = xydict.insert("key", x).
- Nuevo módulo
Funcionalidad del editor más inteligente
- Autocompletado de variables locales
- Autocompletado de métodos disponibles en un valor
- Autocompletado de símbolos y módulos
- Autocompletado de importaciones
- Pasá el mouse sobre un identificador para ver su valor o valores
Más mejoras del editor
- Nuevo menú de fuentes con vistas previas
- Ahora se pueden compartir proyectos individuales con enlaces para compartir
- Nueva experiencia de panel si se comparten proyectos con vos
- Los atajos de teclado ahora aparecen en los menús y hay más
- Nuevo indicador de sin conexión
- Tooltips para todos los botones
- Mejor protección de la cuenta
- Se movió el indicador de estado al botón de la lista de errores
Más correcciones
- Varias correcciones de errores del analizador incremental
- Se corrigió la captura de parámetros de clausuras
- Se corrigieron toneladas de errores de matemática
- Correcciones de rendimiento, gestión de archivos y confiabilidad de edición
- Se agregó la redirección a la página a la que se navegó originalmente después de iniciar sesión