Spaces:
Sleeping
Sleeping
| title: 0.4.0 | |
| description: Changes in Typst 0.4.0 | |
| # Version 0.4.0 (May 20, 2023) | |
| ## Footnotes | |
| - Implemented support for footnotes | |
| - The [`footnote`] function inserts a footnote | |
| - The [`footnote.entry`]($footnote.entry) function can be used to customize the | |
| footnote listing | |
| - The `{"chicago-notes"}` [citation style]($cite.style) is now available | |
| ## Documentation | |
| - Added a [Guide for LaTeX users]($guides/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 alignment | |
| - Added support for writing roots with Unicode: For example, `[$root(x+y)$]` can | |
| now also be written as `[$√(x+y)$]` | |
| - Fixed uneven vertical [`attachment`]($math.attach) alignment | |
| - Fixed spacing on decorated elements (e.g., spacing around a | |
| [canceled]($math.cancel) operator) | |
| - Fixed styling for stretchable symbols | |
| - Added `tack.r.double`, `tack.l.double`, `dotless.i` and `dotless.j` | |
| [symbols]($category/symbols/sym) | |
| - Fixed show rules on symbols (e.g. `{show sym.tack: set text(blue)}`) | |
| - Fixed missing rename from `ast.op` to `ast` that 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.eq`]($assert.eq) function, for | |
| instance, is part of the [`assert`] function's scope. Note that function | |
| scopes are currently only available for built-in functions. | |
| - Added [`assert.eq`]($assert.eq) and [`assert.ne`]($assert.ne) functions for | |
| simpler equality and inequality assertions with more helpful error messages | |
| - Exposed [list]($list.item), [enum]($enum.item), and [term list]($terms.item) | |
| items in their respective functions' scope | |
| - The `at` methods on [strings]($str.at), [arrays]($array.at), | |
| [dictionaries]($dictionary.at), and [content]($content.at) now support | |
| specifying a default value | |
| - Added support for passing a function to [`replace`]($str.replace) that is | |
| called with each match. | |
| - Fixed [replacement]($str.replace) 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]($int) or [float]($float) | |
| fails | |
| ## Text and Layout | |
| - Implemented sophisticated CJK punctuation adjustment | |
| - Disabled [overhang]($text.overhang) for CJK punctuation | |
| - Added basic translations for Traditional Chinese | |
| - Fixed [alignment]($raw.align) 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]($table.align) and [fill]($table.fill) per column | |
| - Fixed automatic figure [`kind`]($figure.kind) detection | |
| - Made alignment of [enum numbers]($enum.number-align) configurable, defaulting | |
| to `end` | |
| - Figures 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 `.yaml` extension in addition to `.yml` for bibliographies | |
| - The CLI now emits escape codes only if the output is a TTY | |
| - For users of the `typst` crate: The `Document` is now `Sync` again and the | |
| `World` doesn't have to be `'static` anymore | |
| ## Contributors | |
| <contributors from="v0.3.0" to="v0.4.0" /> | |