Footnotes
Implemented support for footnotes
The
footnotefunction inserts a footnoteThe
footnote.entryfunction can be used to customize the footnote listingThe
{"chicago-notes"}citation style is now available
Documentation
Added a Guide for LaTeX Users
Now shows default values for optional arguments
Added richer outlines in "On this Page"
Added initial support for search keywords: "Table of Contents" will now find the outline function. Suggestions for more keywords are welcome!
Fixed issue with search result ranking
Fixed many more small issues
Math
Breaking change: Alignment points (
&) in equations now alternate between left and right alignmentAdded support for writing roots with Unicode: For example,
[$root(x+y)$]can now also be written as[$√(x+y)$]Fixed uneven vertical
attachmentalignmentFixed spacing on decorated elements (e.g., spacing around a canceled operator)
Fixed styling for stretchable symbols
Added
tack.r.double,tack.l.double,dotless.ianddotless.jsymbolsFixed show rules on symbols (e.g.
{show sym.tack: set text(blue)})Fixed missing rename from
ast.optoastthat should have been in the previous release
Scripting
Added function scopes: A function can now hold related definitions in its own scope, similar to a module. The new
assert.eqfunction, for instance, is part of theassertfunction's scope. Note that function scopes are currently only available for built-in functions.Added
assert.eqandassert.nefunctions for simpler equality and inequality assertions with more helpful error messagesExposed list, enum, and term list items in their respective functions' scope
The
atmethods on strings, arrays, dictionaries, and content now support specifying a default valueAdded support for passing a function to
replacethat is called with each match.Fixed replacement strings: They are now inserted completely verbatim instead of supporting the previous (unintended) magic dollar syntax for capture groups
Fixed bug with trailing placeholders in destructuring patterns
Fixed bug with underscore in parameter destructuring
Fixed crash with nested patterns and when hovering over an invalid pattern
Better error messages when casting to an integer or float fails
Text and Layout
Implemented sophisticated CJK punctuation adjustment
Disabled overhang for CJK punctuation
Added basic translations for Traditional Chinese
Fixed alignment of text inside raw blocks (centering a raw block, e.g. through a figure, will now keep the text itself left-aligned)
Added support for passing a array instead of a function to configure table cell alignment and fill per column
Fixed automatic figure
kinddetectionMade alignment of enum numbers configurable, defaulting to
endFigures can now be made breakable with a show-set rule for blocks in figure
Initial fix for smart quotes in RTL languages
Export
Fixed ligatures in PDF export: They are now copyable and searchable
Exported PDFs now embed ICC profiles for images that have them
Fixed export of strokes with zero thickness
Web app
Projects can now contain folders
Added upload by drag-and-drop into the file panel
Files from the file panel can now be dragged into the editor to insert them into a Typst file
You can now copy-paste images and other files from your computer directly into the editor
Added a button to resend confirmation email
Added an option to invert preview colors in dark mode
Added tips to the loading screen and the Help menu. Feel free to propose more!
Added syntax highlighting for YAML files
Allowed middle mouse button click on many buttons to navigate into a new tab
Allowed more project names
Fixed overridden Vim mode keybindings
Fixed many bugs regarding file upload and more
Miscellaneous Improvements
Improved performance of counters, state, and queries
Improved incremental parsing for more efficient recompilations
Added support for
.yamlextension in addition to.ymlfor bibliographiesThe CLI now emits escape codes only if the output is a TTY
For users of the
typstcrate: TheDocumentis nowSyncagain and theWorlddoesn't have to be'staticanymore