mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
107 lines
4.8 KiB
Markdown
107 lines
4.8 KiB
Markdown
---
|
|
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" />
|