summaryrefslogtreecommitdiff
path: root/docs/changelog.md
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-09-11 15:53:20 +0200
committerLaurenz <laurmaedje@gmail.com>2023-09-11 15:53:20 +0200
commit3a979e88da7be6240821ba8acfdd376b7f4e0f09 (patch)
treeb41a095a11d710f0fc5547e5bd0627deafa02af2 /docs/changelog.md
parent305524d005df075d53575552ee090fb53192a3fe (diff)
Docs generation for types
Diffstat (limited to 'docs/changelog.md')
-rw-r--r--docs/changelog.md533
1 files changed, 259 insertions, 274 deletions
diff --git a/docs/changelog.md b/docs/changelog.md
index c497d006..591d2df4 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -8,25 +8,25 @@ description: |
## Version 0.7.0 (August 7, 2023) { #v0.7.0 }
- Text and Layout
- Added support for floating figures through the
- [`placement`]($func/figure.placement) argument on the figure function
+ [`placement`]($figure.placement) argument on the figure function
- Added support for arbitrary floating content through the
- [`float`]($func/place.float) argument on the place function
+ [`float`]($place.float) argument on the place function
- Added support for loading `.sublime-syntax` files as highlighting
- [syntaxes]($func/raw.syntaxes) for raw blocks
+ [syntaxes]($raw.syntaxes) for raw blocks
- Added support for loading `.tmTheme` files as highlighting
- [themes]($func/raw.theme) for raw blocks
- - Added _bounds_ option to [`top-edge`]($func/text.top-edge) and
- [`bottom-edge`]($func/text.bottom-edge) arguments of text function for tight
+ [themes]($raw.theme) for raw blocks
+ - Added _bounds_ option to [`top-edge`]($text.top-edge) and
+ [`bottom-edge`]($text.bottom-edge) arguments of text function for tight
bounding boxes
- Removed nonsensical top- and bottom-edge options, e.g. _ascender_ for the
bottom edge (**Breaking change**)
- - Added [`script`]($func/text.script) argument to text function
- - Added [`alternative`]($func/smartquote.alternative) argument to smart quote
+ - Added [`script`]($text.script) argument to text function
+ - Added [`alternative`]($smartquote.alternative) argument to smart quote
function
- Added basic i18n for Japanese
- Added hyphenation support for `nb` and `nn` language codes in addition to
`no`
- - Fixed positioning of [placed elements]($func/place) in containers
+ - Fixed positioning of [placed elements]($place) in containers
- Fixed overflowing containers due to optimized line breaks
- Export
@@ -38,21 +38,21 @@ description: |
- Math
- Improved layout of primes (e.g. in `[$a'_1$]`)
- Improved display of multi-primes (e.g. in `[$a''$]`)
- - Improved layout of [roots]($func/math.root)
- - Changed relations to show attachments as [limits]($func/math.limits) by
- default (e.g. in `[$a ->^x b$]`)
+ - Improved layout of [roots]($math.root)
+ - Changed relations to show attachments as [limits]($math.limits) by default
+ (e.g. in `[$a ->^x b$]`)
- Large operators and delimiters are now always vertically centered
- - [Boxes]($func/box) in equations now sit on the baseline instead of being
+ - [Boxes]($box) in equations now sit on the baseline instead of being
vertically centered by default. Notably, this does not affect
- [blocks]($func/block) because they are not inline elements.
- - Added support for [weak spacing]($func/h.weak)
+ [blocks]($block) because they are not inline elements.
+ - Added support for [weak spacing]($h.weak)
- Added support for OpenType character variants
- - Added support for customizing the [math class]($func/math.class) of content
+ - Added support for customizing the [math class]($math.class) of content
- Fixed spacing around `.`, `\/`, and `...`
- Fixed spacing between closing delimiters and large operators
- Fixed a bug with math font weight selection
- Symbols and Operators (**Breaking changes**)
- - Added `id`, `im`, and `tr` text [operators]($func/math.op)
+ - Added `id`, `im`, and `tr` text [operators]($math.op)
- Renamed `ident` to `equiv` with alias `eq.triple` and removed
`ident.strict` in favor of `eq.quad`
- Renamed `ast.sq` to `ast.square` and `integral.sq` to `integral.square`
@@ -65,36 +65,32 @@ description: |
- Scripting
- Fields
- - Added `abs` and `em` field to [lengths]($type/length)
- - Added `ratio` and `length` field to
- [relative lengths]($type/relative-length)
- - Added `x` and `y` field to [2d alignments]($func/align.alignment)
+ - Added `abs` and `em` field to [lengths]($length)
+ - Added `ratio` and `length` field to [relative lengths]($relative)
+ - Added `x` and `y` field to [2d alignments]($align.alignment)
- Added `paint`, `thickness`, `cap`, `join`, `dash`, and `miter-limit` field
- to [strokes]($func/line.stroke)
+ to [strokes]($stroke)
- Accessor and utility methods
- - Added [`dedup`]($type/array.dedup) method to arrays
- - Added `pt`, `mm`, `cm`, and `inches` method to [lengths]($type/length)
- - Added `deg` and `rad` method to [angles]($type/angle)
- - Added `kind`, `hex`, `rgba`, `cmyk`, and `luma` method to
- [colors]($type/color)
- - Added `axis`, `start`, `end`, and `inv` method to
- [directions]($func/stack.dir)
- - Added `axis` and `inv` method to [alignments]($func/align.alignment)
- - Added `inv` method to [2d alignments]($func/align.alignment)
- - Added `start` argument to [`enumerate`]($type/array.enumerate) method on
- arrays
- - Added [`color.mix`]($func/color.mix) function
- - Added `mode` and `scope` arguments to [`eval`]($func/eval) function
- - Added [`bytes`]($type/bytes) type for holding large byte buffers
- - Added [`encoding`]($func/read.encoding) argument to read function to read
- a file as bytes instead of a string
- - Added [`image.decode`]($func/image.decode) function for decoding an image
+ - Added [`dedup`]($array.dedup) method to arrays
+ - Added `pt`, `mm`, `cm`, and `inches` method to [lengths]($length)
+ - Added `deg` and `rad` method to [angles]($angle)
+ - Added `kind`, `hex`, `rgba`, `cmyk`, and `luma` method to [colors]($color)
+ - Added `axis`, `start`, `end`, and `inv` method to [directions]($stack.dir)
+ - Added `axis` and `inv` method to [alignments]($align.alignment)
+ - Added `inv` method to [2d alignments]($align.alignment)
+ - Added `start` argument to [`enumerate`]($array.enumerate) method on arrays
+ - Added [`color.mix`]($color.mix) function
+ - Added `mode` and `scope` arguments to [`eval`]($eval) function
+ - Added [`bytes`]($bytes) type for holding large byte buffers
+ - Added [`encoding`]($read.encoding) argument to read function to read a
+ file as bytes instead of a string
+ - Added [`image.decode`]($image.decode) function for decoding an image
directly from a string or bytes
- - Added [`bytes`]($func/bytes) function for converting a string or an array
- of integers to bytes
- - Added [`array`]($func/array) function for converting bytes to an array of
+ - Added [`bytes`]($bytes) function for converting a string or an array of
+ integers to bytes
+ - Added [`array`]($array) function for converting bytes to an array of
integers
- - Added support for converting bytes to a string with the [`str`]($func/str)
+ - Added support for converting bytes to a string with the [`str`]($str)
function
- Tooling and Diagnostics
@@ -126,19 +122,19 @@ description: |
- Fixed displayed compilation time (now includes export)
- Miscellaneous Improvements
- - Added [`bookmarked`]($func/heading.bookmarked) argument to heading to
- control whether a heading becomes part of the PDF outline
- - Added [`caption-pos`]($func/figure.caption-pos) argument to control the
- position of a figure's caption
- - Added [`metadata`]($func/metadata) function for exposing an arbitrary value
- to the introspection system
- - Fixed that a [`state`]($func/state) was identified by the pair `(key, init)`
+ - Added [`bookmarked`]($heading.bookmarked) argument to heading to control
+ whether a heading becomes part of the PDF outline
+ - Added [`caption-pos`]($figure.caption-pos) argument to control the position
+ of a figure's caption
+ - Added [`metadata`]($metadata) function for exposing an arbitrary value to
+ the introspection system
+ - Fixed that a [`state`]($state) was identified by the pair `(key, init)`
instead of just its `key`
- - Improved indent logic of [enumerations]($func/enum). Instead of requiring at
+ - Improved indent logic of [enumerations]($enum). Instead of requiring at
least as much indent as the end of the marker, they now require only one
more space indent than the start of the marker. As a result, even long
markers like `12.` work with just 2 spaces of indent.
- - Fixed bug with indent logic of [`raw`]($func/raw) blocks
+ - Fixed bug with indent logic of [`raw`]($raw) blocks
- Fixed a parsing bug with dictionaries
- Development
@@ -158,26 +154,26 @@ description: |
- Math
- Added support for optical size variants of glyphs in math mode
- - Added argument to enable [`limits`]($func/math.limits) conditionally
- depending on whether the equation is set in [`display`]($func/math.display)
- or [`inline`]($func/math.inline) style
+ - Added argument to enable [`limits`]($math.limits) conditionally depending on
+ whether the equation is set in [`display`]($math.display) or
+ [`inline`]($math.inline) style
- Added `gt.eq.slant` and `lt.eq.slant` symbols
- Increased precedence of factorials in math mode (`[$1/n!$]` works correctly
now)
- - Improved [underlines]($func/math.underline) and
- [overlines]($func/math.overline) in math mode
- - Fixed usage of [`limits`]($func/math.limits) function in show rules
+ - Improved [underlines]($math.underline) and [overlines]($math.overline) in
+ math mode
+ - Fixed usage of [`limits`]($math.limits) function in show rules
- Fixed bugs with line breaks in equations
- Text and Layout
- - Added support for alternating page [margins]($func/page.margin) with the
- `inside` and `outside` keys
- - Added support for specifying the page [`binding`]($func/page.binding)
- - Added [`to`]($func/pagebreak.to) argument to pagebreak function to skip to
- the next even or odd page
+ - Added support for alternating page [margins]($page.margin) with the `inside`
+ and `outside` keys
+ - Added support for specifying the page [`binding`]($page.binding)
+ - Added [`to`]($pagebreak.to) argument to pagebreak function to skip to the
+ next even or odd page
- Added basic i18n for a few more languages (TR, SQ, TL)
- Fixed bug with missing table row at page break
- - Fixed bug with [underlines]($func/underline)
+ - Fixed bug with [underlines]($underline)
- Fixed bug superfluous table lines
- Fixed smart quotes after line breaks
- Fixed a crash related to text layout
@@ -193,13 +189,13 @@ description: |
- Now displays compilation time
- Miscellaneous Improvements
- - Added [`outline.entry`]($func/outline.entry) to customize outline entries
- with show rules
+ - Added [`outline.entry`]($outline.entry) to customize outline entries with
+ show rules
- Added some hints for error messages
- - Added some missing syntaxes for [`raw`]($func/raw) highlighting
+ - Added some missing syntaxes for [`raw`]($raw) highlighting
- Improved rendering of rotated images in PNG export and web app
- - Made [footnotes]($func/footnote) reusable and referenceable
- - Fixed bug with citations and bibliographies in [`locate`]($func/locate)
+ - Made [footnotes]($footnote) reusable and referenceable
+ - Fixed bug with citations and bibliographies in [`locate`]($locate)
- Fixed inconsistent tense in documentation
- Development
@@ -211,45 +207,44 @@ description: |
## Version 0.5.0 (June 9, 2023) { #v0.5.0 }
- Text and Layout
- - Added [`raw`]($func/raw) syntax highlighting for many more languages
- - Added support for Korean [numbering]($func/numbering)
+ - Added [`raw`]($raw) syntax highlighting for many more languages
+ - Added support for Korean [numbering]($numbering)
- Added basic i18n for a few more languages (NL, SV, DA)
- Improved line breaking for East Asian languages
- - Expanded functionality of outline [`indent`]($func/outline.indent) property
+ - Expanded functionality of outline [`indent`]($outline.indent) property
- Fixed footnotes in columns
- - Fixed page breaking bugs with [footnotes]($func/footnote)
+ - Fixed page breaking bugs with [footnotes]($footnote)
- Fixed bug with handling of footnotes in lists, tables, and figures
- Fixed a bug with CJK punctuation adjustment
- Fixed a crash with rounded rectangles
- - Fixed alignment of [`line`]($func/line) elements
+ - Fixed alignment of [`line`]($line) elements
- Math
- **Breaking change:** The syntax rules for mathematical
- [attachments]($func/math.attach) were improved: `[$f^abs(3)$]` now parses as
+ [attachments]($math.attach) were improved: `[$f^abs(3)$]` now parses as
`[$f^(abs(3))$]` instead of `[$(f^abs)(3)$]`. To disambiguate, add a space:
`[$f^zeta (3)$]`.
- - Added [forced size]($category/math/sizes) commands for math
- (e.g., [`display`]($func/math.display))
- - Added [`supplement`]($func/math.equation.supplement) parameter to
- [`equation`]($func/math.equation), used by [references]($func/ref)
+ - Added [forced size]($category/math/sizes) commands for math (e.g.,
+ [`display`]($math.display))
+ - Added [`supplement`]($math.equation.supplement) parameter to
+ [`equation`]($math.equation), used by [references]($ref)
- New [symbols]($category/symbols/sym): `bullet`, `xor`, `slash.big`,
`sigma.alt`, `tack.r.not`, `tack.r.short`, `tack.r.double.not`
- Fixed a bug with symbols in matrices
- - Fixed a crash in the [`attach`]($func/math.attach) function
+ - Fixed a crash in the [`attach`]($math.attach) function
- Scripting
- - Added new [`datetime`]($type/datetime) type and
- [`datetime.today`]($func/datetime.today) to retrieve the current date
- - Added [`str.from-unicode`]($func/str.from-unicode) and
- [`str.to-unicode`]($func/str.to-unicode) functions
- - Added [`fields`]($type/content.fields) method on content
- - Added `base` parameter to [`str`]($func/str) function
- - Added [`calc.exp`]($func/calc.exp) and [`calc.ln`]($func/calc.ln)
- - Improved accuracy of [`calc.pow`]($func/calc.pow) and
- [`calc.log`]($func/calc.log) for specific bases
- - Fixed [removal]($type/dictionary.remove) order for dictionary
- - Fixed `.at(default: ..)` for [strings]($type/string.at) and
- [content]($type/content.at)
+ - Added new [`datetime`]($datetime) type and
+ [`datetime.today`]($datetime.today) to retrieve the current date
+ - Added [`str.from-unicode`]($str.from-unicode) and
+ [`str.to-unicode`]($str.to-unicode) functions
+ - Added [`fields`]($content.fields) method on content
+ - Added `base` parameter to [`str`]($str) function
+ - Added [`calc.exp`]($calc.exp) and [`calc.ln`]($calc.ln)
+ - Improved accuracy of [`calc.pow`]($calc.pow) and [`calc.log`]($calc.log) for
+ specific bases
+ - Fixed [removal]($dictionary.remove) order for dictionary
+ - Fixed `.at(default: ..)` for [strings]($str.at) and [content]($content.at)
- Fixed field access on styled elements
- Removed deprecated `calc.mod` function
@@ -266,8 +261,8 @@ description: |
- Improved error message for failed length comparisons
- Fixed a bug with images not showing up in Apple Preview
- Fixed multiple bugs with the PDF outline
- - Fixed citations and other searchable elements in [`hide`]($func/hide)
- - Fixed bugs with [reference supplements]($func/ref.supplement)
+ - Fixed citations and other searchable elements in [`hide`]($hide)
+ - Fixed bugs with [reference supplements]($ref.supplement)
- Fixed Nix flake
<contributors from="v0.4.0" to="v0.5.0" />
@@ -275,29 +270,28 @@ description: |
## Version 0.4.0 (May 20, 2023) { #v0.4.0 }
- Footnotes
- Implemented support for footnotes
- - The [`footnote`]($func/footnote) function inserts a footnote
- - The [`footnote.entry`]($func/footnote.entry) function can be used to
- customize the footnote listing
- - The `{"chicago-notes"}` [citation style]($func/cite.style) is now available
+ - The [`footnote`]($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]($func/outline) function. Suggestions for more keywords are
- welcome!
+ the [outline]($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`]($func/math.attach) alignment
- - Fixed spacing on decorated elements
- (e.g., spacing around a [canceled]($func/math.cancel) operator)
+ - 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)
@@ -307,40 +301,37 @@ description: |
- Scripting
- Added function scopes: A function can now hold related definitions in its
- own scope, similar to a module. The new [`assert.eq`]($func/assert.eq)
- function, for instance, is part of the [`assert`]($func/assert) function's
- scope. Note that function scopes are currently only available for built-in
- functions.
- - Added [`assert.eq`]($func/assert.eq) and [`assert.ne`]($func/assert.ne)
- functions for simpler equality and inequality assertions with more helpful
- error messages
- - Exposed [list]($func/list.item), [enum]($func/enum.item), and
- [term list]($func/terms.item) items in their respective functions' scope
- - The `at` methods on [strings]($type/string.at), [arrays]($type/array.at),
- [dictionaries]($type/dictionary.at), and [content]($type/content.at) now support
+ own scope, similar to a module. The new [`assert.eq`]($assert.eq) function,
+ for instance, is part of the [`assert`]($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`]($type/string.replace)
- that is called with each match.
- - Fixed [replacement]($type/string.replace) strings: They are now inserted
- completely verbatim instead of supporting the previous (unintended) magic
- dollar syntax for capture groups
+ - 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]($func/int) or
- [float]($func/float) fails
+ - Better error messages when casting to an [integer]($int) or [float]($float)
+ fails
- Text and Layout
- Implemented sophisticated CJK punctuation adjustment
- - Disabled [overhang]($func/text.overhang) for CJK punctuation
+ - Disabled [overhang]($text.overhang) for CJK punctuation
- Added basic translations for Traditional Chinese
- - Fixed [alignment]($func/raw.align) of text inside raw blocks (centering a
- raw block, e.g. through a figure, will now keep the text itself
- left-aligned)
+ - 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]($func/table.align) and [fill]($func/table.fill) per column
- - Fixed automatic figure [`kind`]($func/figure.kind) detection
- - Made alignment of [enum numbers]($func/enum.number-align) configurable,
+ 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
@@ -372,8 +363,8 @@ description: |
- 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
+ - For users of the `typst` crate: The `Document` is now `Sync` again and the
+ `World` doesn't have to be `'static` anymore
<contributors from="v0.3.0" to="v0.4.0" />
@@ -381,41 +372,41 @@ description: |
- **Breaking changes:**
- Renamed a few symbols: What was previous `dot.op` is now just `dot` and the
basic dot is `dot.basic`. The same applies to `ast` and `tilde`.
- - Renamed `mod` to [`rem`]($func/calc.rem) to more accurately reflect
- the behaviour. It will remain available as `mod` until the next update as a
+ - Renamed `mod` to [`rem`]($calc.rem) to more accurately reflect the
+ behaviour. It will remain available as `mod` until the next update as a
grace period.
- A lone underscore is not a valid identifier anymore, it can now only be used
in patterns
- - Removed `before` and `after` arguments from [`query`]($func/query). This is
- now handled through flexible [selectors]($type/selector) combinator methods
- - Added support for [attachments]($func/math.attach) (sub-, superscripts) that
+ - Removed `before` and `after` arguments from [`query`]($query). This is now
+ handled through flexible [selectors]($selector) combinator methods
+ - Added support for [attachments]($math.attach) (sub-, superscripts) that
precede the base symbol. The `top` and `bottom` arguments have been renamed
to `t` and `b`.
- New features
- - Added support for more complex [strokes]($func/line.stroke)
- (configurable caps, joins, and dash patterns)
- - Added [`cancel`]($func/math.cancel) function for equations
+ - Added support for more complex [strokes]($stroke) (configurable caps, joins,
+ and dash patterns)
+ - Added [`cancel`]($math.cancel) function for equations
- Added support for [destructuring]($scripting/#bindings) in argument lists
and assignments
- - Added [`alt`]($func/image.alt) text argument to image function
- - Added [`toml`]($func/toml) function for loading data from a TOML file
- - Added [`zip`]($type/array.zip), [`sum`]($type/array.sum), and
- [`product`]($type/array.product) methods for arrays
+ - Added [`alt`]($image.alt) text argument to image function
+ - Added [`toml`]($toml) function for loading data from a TOML file
+ - Added [`zip`]($array.zip), [`sum`]($array.sum), and
+ [`product`]($array.product) methods for arrays
- Added `fact`, `perm`, `binom`, `gcd`, `lcm`, `atan2`, `quo`, `trunc`, and
`fract` [calculation]($category/calculate)
- Improvements
- Text in SVGs now displays properly
- Typst now generates a PDF heading outline
- - [References]($func/ref) now provides the referenced element as a field in
- show rules
+ - [References]($ref) now provides the referenced element as a field in show
+ rules
- Refined linebreak algorithm for better Chinese justification
- Locations are now a valid kind of selector
- Added a few symbols for algebra
- Added Spanish smart quote support
- - Added [`selector`]($func/selector) function to turn a selector-like value
- into a selector on which combinator methods can be called
+ - Added [`selector`]($selector) function to turn a selector-like value into a
+ selector on which combinator methods can be called
- Improved some error messages
- The outline and bibliography headings can now be styled with show-set rules
- Operations on numbers now produce an error instead of overflowing
@@ -423,7 +414,7 @@ description: |
- Bug fixes
- Fixed wrong linebreak before punctuation that follows inline equations,
citations, and other elements
- - Fixed a bug with [argument sinks]($type/arguments)
+ - Fixed a bug with [argument sinks]($arguments)
- Fixed strokes with thickness zero
- Fixed hiding and show rules in math
- Fixed alignment in matrices
@@ -431,13 +422,13 @@ description: |
- Fixed grid cell alignment
- Fixed alignment of list marker and enum markers in presence of global
alignment settings
- - Fixed [path]($func/path) closing
+ - Fixed [path]($path) closing
- Fixed compiler crash with figure references
- A single trailing line breaks is now ignored in math, just like in text
- Command line interface
- - Font path and compilation root can now be set with the environment
- variables `TYPST_FONT_PATHS` and `TYPST_ROOT`
+ - Font path and compilation root can now be set with the environment variables
+ `TYPST_FONT_PATHS` and `TYPST_ROOT`
- The output of `typst fonts` now includes the embedded fonts
- Development
@@ -453,18 +444,18 @@ description: |
- **Breaking changes:**
- Removed support for iterating over index and value in
[for loops]($scripting/#loops). This is now handled via unpacking and
- enumerating. Same goes for the [`map`]($type/array.map) method.
- - [Dictionaries]($type/dictionary) now iterate in insertion order instead of
+ enumerating. Same goes for the [`map`]($array.map) method.
+ - [Dictionaries]($dictionary) now iterate in insertion order instead of
alphabetical order.
- New features
- Added [unpacking syntax]($scripting/#bindings) for let bindings, which
allows things like `{let (1, 2) = array}`
- - Added [`enumerate`]($type/array.enumerate) method
- - Added [`path`]($func/path) function for drawing Bézier paths
- - Added [`layout`]($func/layout) function to access the size of the
- surrounding page or container
- - Added `key` parameter to [`sorted`]($type/array.sorted) method
+ - Added [`enumerate`]($array.enumerate) method
+ - Added [`path`]($path) function for drawing Bézier paths
+ - Added [`layout`]($layout) function to access the size of the surrounding
+ page or container
+ - Added `key` parameter to [`sorted`]($array.sorted) method
- Command line interface
- Fixed `--open` flag blocking the program
@@ -478,17 +469,16 @@ description: |
- Added basic i18n for a few more languages
(AR, NB, CS, NN, PL, SL, ES, UA, VI)
- Added a few numbering patterns (Ihora, Chinese)
- - Added `sinc` [operator]($func/math.op)
- - Fixed bug where math could not be hidden with [`hide`]($func/hide)
+ - Added `sinc` [operator]($math.op)
+ - Fixed bug where math could not be hidden with [`hide`]($hide)
- Fixed sizing issues with box, block, and shapes
- Fixed some translations
- - Fixed inversion of "R" in [`cal`]($func/math.cal) and
- [`frak`]($func/math.frak) styles
+ - Fixed inversion of "R" in [`cal`]($math.cal) and [`frak`]($math.frak) styles
- Fixed some styling issues in math
- Fixed supplements of references to headings
- Fixed syntax highlighting of identifiers in certain scenarios
- - [Ratios]($type/ratio) can now be multiplied with more types and be converted
- to [floats]($type/float) with the [`float`]($func/float) function
+ - [Ratios]($ratio) can now be multiplied with more types and be converted to
+ [floats]($float) with the [`float`]($float) function
<contributors from="v0.1.0" to="v0.2.0" />
@@ -499,22 +489,22 @@ description: |
- `typst watch file.typ` or `typst w file.typ` to compile and watch
- `typst fonts` to list all fonts
- Manual counters now start at zero. Read the "How to step" section
- [here]($func/counter) for more details
- - The [bibliography styles]($func/bibliography.style)
- `{"author-date"}` and `{"author-title"}` were renamed to
- `{"chicago-author-date"}` and `{"chicago-author-title"}`
+ [here]($counter) for more details
+ - The [bibliography styles]($bibliography.style) `{"author-date"}` and
+ `{"author-title"}` were renamed to `{"chicago-author-date"}` and
+ `{"chicago-author-title"}`
- Figure improvements
- - Figures now automatically detect their content and adapt their
- behaviour. Figures containing tables, for instance, are automatically
- prefixed with "Table X" and have a separate counter
+ - Figures now automatically detect their content and adapt their behaviour.
+ Figures containing tables, for instance, are automatically prefixed with
+ "Table X" and have a separate counter
- The figure's supplement (e.g. "Figure" or "Table") can now be customized
- In addition, figures can now be completely customized because the show rule
gives access to the automatically resolved kind, supplement, and counter
- Bibliography improvements
- - The [`bibliography`]($func/bibliography) now also accepts multiple
- bibliography paths (as an array)
+ - The [`bibliography`]($bibliography) now also accepts multiple bibliography
+ paths (as an array)
- Parsing of BibLaTeX files is now more permissive (accepts non-numeric
edition, pages, volumes, dates, and Jabref-style comments; fixed
abbreviation parsing)
@@ -522,9 +512,8 @@ description: |
- Fixed APA bibliography ordering
- Drawing additions
- - Added [`polygon`]($func/polygon) function for drawing polygons
- - Added support for clipping in [boxes]($func/box.clip) and
- [blocks]($func/block.clip)
+ - Added [`polygon`]($polygon) function for drawing polygons
+ - Added support for clipping in [boxes]($box.clip) and [blocks]($block.clip)
- Command line interface
- Now returns with non-zero status code if there is an error
@@ -534,27 +523,26 @@ description: |
- Added `--open` flag to directly open the PDF
- Miscellaneous improvements
- - Added [`yaml`]($func/yaml) function to load data from YAML files
+ - Added [`yaml`]($yaml) function to load data from YAML files
- Added basic i18n for a few more languages (IT, RU, ZH, FR, PT)
- Added numbering support for Hebrew
- - Added support for [integers]($type/integer) with base 2, 8, and 16
+ - Added support for [integers]($int) with base 2, 8, and 16
- Added symbols for double bracket and laplace operator
- - The [`link`]($func/link) function now accepts [labels]($func/label)
+ - The [`link`]($link) function now accepts [labels]($label)
- The link syntax now allows more characters
- Improved justification of Japanese and Chinese text
- Calculation functions behave more consistently w.r.t to non-real results
- Replaced deprecated angle brackets
- Reduced maximum function call depth from 256 to 64
- - Fixed [`first-line-indent`]($func/par.first-line-indent) being not applied
- when a paragraph starts with styled text
+ - Fixed [`first-line-indent`]($par.first-line-indent) being not applied when a
+ paragraph starts with styled text
- Fixed extraneous spacing in unary operators in equations
- Fixed block spacing, e.g. in `{block(above: 1cm, below: 1cm, ..)}`
- Fixed styling of text operators in math
- Fixed invalid parsing of language tag in raw block with a single backtick
- Fixed bugs with displaying counters and state
- Fixed crash related to page counter
- - Fixed crash when [`symbol`]($func/symbol) function was called without
- arguments
+ - Fixed crash when [`symbol`]($symbol) function was called without arguments
- Fixed crash in bibliography generation
- Fixed access to label of certain content elements
- Fixed line number in error message for CSV parsing
@@ -562,12 +550,12 @@ description: |
<contributors from="v23-03-28" to="v0.1.0" />
-## March 28, 2023
+## March 28, 2023 { #_ }
- **Breaking changes:**
- Enumerations now require a space after their marker, that is, `[1.ok]` must
now be written as `[1. ok]`
- - Changed default style for [term lists]($func/terms): Does not include a
- colon anymore and has a bit more indent
+ - Changed default style for [term lists]($terms): Does not include a colon
+ anymore and has a bit more indent
- Command line interface
- Added `--font-path` argument for CLI
@@ -575,16 +563,15 @@ description: |
- Fixed build of CLI if `git` is not installed
- Miscellaneous improvements
- - Added support for disabling [matrix]($func/math.mat) and
- [vector]($func/math.vec) delimiters. Generally with
- `[#set math.mat(delim: none)]` or one-off with
+ - Added support for disabling [matrix]($math.mat) and [vector]($math.vec)
+ delimiters. Generally with `[#set math.mat(delim: none)]` or one-off with
`[$mat(delim: #none, 1, 2; 3, 4)$]`.
- - Added [`separator`]($func/terms.separator) argument to term lists
- - Added [`round`]($func/math.round) function for equations
+ - Added [`separator`]($terms.separator) argument to term lists
+ - Added [`round`]($math.round) function for equations
- Numberings now allow zeros. To reset a counter, you can write
`[#counter(..).update(0)]`
- Added documentation for `{page()}` and `{position()}` methods on
- [`location`]($func/locate) type
+ [`location`]($location) type
- Added symbols for double, triple, and quadruple dot accent
- Added smart quotes for Norwegian Bokmål
- Added Nix flake
@@ -593,92 +580,90 @@ description: |
- Fixed parsing of unbalanced delimiters in fractions: `[$1/(2 (x)$]`
- Fixed unexpected parsing of numbers as enumerations, e.g. in `[1.2]`
- Fixed combination of page fill and header
- - Fixed compiler crash if [`repeat`]($func/repeat) is used in page with
- automatic width
- - Fixed [matrices]($func/math.mat) with explicit delimiter
- - Fixed [`indent`]($func/terms.indent) property of term lists
+ - Fixed compiler crash if [`repeat`]($repeat) is used in page with automatic
+ width
+ - Fixed [matrices]($math.mat) with explicit delimiter
+ - Fixed [`indent`]($terms.indent) property of term lists
- Numerous documentation fixes
- Links in bibliographies are now affected by link styling
- Fixed hovering over comments in web app
<contributors from="v23-03-21" to="v23-03-28" />
-## March 21, 2023
+## March 21, 2023 { #_ }
- Reference and bibliography management
- - [Bibliographies]($func/bibliography) and [citations]($func/cite) (currently
- supported styles are APA, Chicago Author Date, IEEE, and MLA)
- - You can now [reference]($func/ref) sections, figures, formulas, and works
- from the bibliography with `[@label]`
+ - [Bibliographies]($bibliography) and [citations]($cite) (currently supported
+ styles are APA, Chicago Author Date, IEEE, and MLA)
+ - You can now [reference]($ref) sections, figures, formulas, and works from
+ the bibliography with `[@label]`
- You can make an element referenceable with a label:
- `[= Introduction <intro>]`
- `[$ A = pi r^2 $ <area>]`
- Introspection system for interactions between different parts of the document
- - [`counter`]($func/counter) function
+ - [`counter`]($counter) function
- Access and modify counters for pages, headings, figures, and equations
- Define and use your own custom counters
- Time travel: Find out what the counter value was or will be at some other
point in the document (e.g. when you're building a list of figures, you
can determine the value of the figure counter at any given figure).
- Counters count in layout order and not in code order
- - [`state`]($func/state) function
+ - [`state`]($state) function
- Manage arbitrary state across your document
- Time travel: Find out the value of your state at any position in the
document
- State is modified in layout order and not in code order
- - [`query`]($func/query) function
- - Find all occurrences of an element or a label, either in the whole document
- or before/after some location
+ - [`query`]($query) function
+ - Find all occurrences of an element or a label, either in the whole
+ document or before/after some location
- Link to elements, find out their position on the pages and access their
fields
- Example use cases: Custom list of figures or page header with current
chapter title
- - [`locate`]($func/locate) function
+ - [`locate`]($locate) function
- Determines the location of itself in the final layout
- Can be accessed to get the `page` and `x`, `y` coordinates
- Can be used with counters and state to find out their values at that
location
- Can be used with queries to find elements before or after its location
-- New [`measure`]($func/measure) function
+- New [`measure`]($measure) function
- Measure the layouted size of elements
- - To be used in combination with the new [`style`]($func/style) function that
- lets you generate different content based on the style context something is
+ - To be used in combination with the new [`style`]($style) function that lets
+ you generate different content based on the style context something is
inserted into (because that affects the measured size of content)
- Exposed content representation
- Content is not opaque anymore
- Content can be compared for equality
- The tree of content elements can be traversed with code
- - Can be observed in hover tooltips or with [`repr`]($func/repr)
- - New [methods]($type/content) on content: `func`, `has`, `at`, and `location`
+ - Can be observed in hover tooltips or with [`repr`]($repr)
+ - New [methods]($content) on content: `func`, `has`, `at`, and `location`
- All optional fields on elements are now settable
- More uniform field names (`heading.title` becomes `heading.body`,
`list.items` becomes `list.children`, and a few more changes)
- Further improvements
- - Added [`figure`]($func/figure) function
- - Added [`numbering`]($func/math.equation.numbering) parameter on equation function
- - Added [`numbering`]($func/page.numbering) and
- [`number-align`]($func/page.number-align) parameters on page function
- - The page function's [`header`]($func/page.header) and
- [`footer`]($func/page.footer) parameters do not take functions anymore. If
- you want to customize them based on the page number, use the new
- [`numbering`]($func/page.numbering) parameter or [`counter`]($func/counter)
- function instead.
- - Added [`footer-descent`]($func/page.footer-descent) and
- [`header-ascent`]($func/page.header-ascent) parameters
+ - Added [`figure`]($figure) function
+ - Added [`numbering`]($math.equation.numbering) parameter on equation function
+ - Added [`numbering`]($page.numbering) and
+ [`number-align`]($page.number-align) parameters on page function
+ - The page function's [`header`]($page.header) and [`footer`]($page.footer)
+ parameters do not take functions anymore. If you want to customize them
+ based on the page number, use the new [`numbering`]($page.numbering)
+ parameter or [`counter`]($counter) function instead.
+ - Added [`footer-descent`]($page.footer-descent) and
+ [`header-ascent`]($page.header-ascent) parameters
- Better default alignment in header and footer
- Fixed Arabic vowel placement
- Fixed PDF font embedding issues
- - Renamed `math.formula` to [`math.equation`]($func/math.equation)
+ - Renamed `math.formula` to [`math.equation`]($math.equation)
- Font family must be a named argument now: `[#set text(font: "..")]`
- - Added support for [hanging indent]($func/par.hanging-indent)
- - Renamed paragraph `indent` to
- [`first-line-indent`]($func/par.first-line-indent)
- - More accurate [logarithm]($func/calc.log) when base is `2` or `10`
+ - Added support for [hanging indent]($par.hanging-indent)
+ - Renamed paragraph `indent` to [`first-line-indent`]($par.first-line-indent)
+ - More accurate [logarithm]($calc.log) when base is `2` or `10`
- Improved some error messages
- - Fixed layout of [`terms`]($func/terms) list
+ - Fixed layout of [`terms`]($terms) list
- Web app improvements
- Added template gallery
@@ -697,76 +682,75 @@ description: |
- New back button instead of four-dots button
- Lots of bug fixes
-## February 25, 2023
+## February 25, 2023 { #_ }
- Font changes
- New default font: Linux Libertine
- New default font for raw blocks: DejaVu Sans Mono
- New default font for math: Book weight of New Computer Modern Math
- Lots of new math fonts available
- Removed Latin Modern fonts in favor of New Computer Modern family
- - Removed unnecessary smallcaps fonts which are already accessible through
- the corresponding main font and the [`smallcaps`]($func/smallcaps) function
+ - Removed unnecessary smallcaps fonts which are already accessible through the
+ corresponding main font and the [`smallcaps`]($smallcaps) function
- Improved default spacing for headings
-- Added [`panic`]($func/panic) function
-- Added [`clusters`]($type/string.clusters) and
- [`codepoints`]($type/string.codepoints)
- methods for strings
-- Support for multiple authors in [`set document`]($func/document.author)
+- Added [`panic`]($panic) function
+- Added [`clusters`]($str.clusters) and [`codepoints`]($str.codepoints) methods
+ for strings
+- Support for multiple authors in [`set document`]($document.author)
- Fixed crash when string is accessed at a position that is not a char boundary
- Fixed semicolon parsing in `[#var ;]`
- Fixed incremental parsing when inserting backslash at end of `[#"abc"]`
-- Fixed names of a few font families
- (including Noto Sans Symbols and New Computer Modern families)
+- Fixed names of a few font families (including Noto Sans Symbols and New
+ Computer Modern families)
- Fixed autocompletion for font families
- Improved incremental compilation for user-defined functions
-## February 15, 2023
-- [Box]($func/box) and [block]($func/block) have gained `fill`, `stroke`,
- `radius`, and `inset` properties
-- Blocks may now be explicitly sized, fixed-height blocks can still break
- across pages
-- Blocks can now be configured to be [`breakable`]($func/block.breakable) or not
-- [Numbering style]($func/enum.numbering) can now be configured for nested enums
-- [Markers]($func/list.marker) can now be configured for nested lists
-- The [`eval`]($func/eval) function now expects code instead of markup and
- returns an arbitrary value. Markup can still be evaluated by surrounding the
- string with brackets.
+## February 15, 2023 { #_ }
+- [Box]($box) and [block]($block) have gained `fill`, `stroke`, `radius`, and
+ `inset` properties
+- Blocks may now be explicitly sized, fixed-height blocks can still break across
+ pages
+- Blocks can now be configured to be [`breakable`]($block.breakable) or not
+- [Numbering style]($enum.numbering) can now be configured for nested enums
+- [Markers]($list.marker) can now be configured for nested lists
+- The [`eval`]($eval) function now expects code instead of markup and returns an
+ arbitrary value. Markup can still be evaluated by surrounding the string with
+ brackets.
- PDFs generated by Typst now contain XMP metadata
- Link boxes are now disabled in PDF output
- Tables don't produce small empty cells before a pagebreak anymore
- Fixed raw block highlighting bug
-## February 12, 2023
+## February 12, 2023 { #_ }
- Shapes, images, and transformations (move/rotate/scale/repeat) are now
- block-level. To integrate them into a paragraph, use a [`box`]($func/box) as
- with other elements.
+ block-level. To integrate them into a paragraph, use a [`box`]($box) as with
+ other elements.
- A colon is now required in an "everything" show rule: Write `{show: it => ..}`
- instead of `{show it => ..}`. This prevents intermediate states that ruin
- your whole document.
+ instead of `{show it => ..}`. This prevents intermediate states that ruin your
+ whole document.
- Non-math content like a shape or table in a math formula is now centered
vertically
- Support for widow and orphan prevention within containers
-- Support for [RTL]($func/text.dir) in lists, grids, and tables
+- Support for [RTL]($text.dir) in lists, grids, and tables
- Support for explicit `{auto}` sizing for boxes and shapes
- Support for fractional (i.e. `{1fr}`) widths for boxes
- Fixed bug where columns jump to next page
- Fixed bug where list items have no leading
- Fixed relative sizing in lists, squares and grid auto columns
-- Fixed relative displacement in [`place`]($func/place) function
+- Fixed relative displacement in [`place`]($place) function
- Fixed that lines don't have a size
- Fixed bug where `{set document(..)}` complains about being after content
- Fixed parsing of `{not in}` operation
- Fixed hover tooltips in math
- Fixed bug where a heading show rule may not contain a pagebreak when an
outline is present
-- Added [`baseline`]($func/box.baseline) property on [`box`]($func/box)
-- Added [`tg`]($func/math.op) and [`ctg`]($func/math.op) operators in math
-- Added delimiter setting for [`cases`]($func/math.cases) function
+- Added [`baseline`]($box.baseline) property on [`box`]($box)
+- Added [`tg`]($math.op) and [`ctg`]($math.op) operators in math
+- Added delimiter setting for [`cases`]($math.cases) function
- Parentheses are now included when accepting a function autocompletion
-## February 2, 2023
-- Merged text and math symbols, renamed a few symbols
- (including `infty` to `infinity` with the alias `oo`)
+## February 2, 2023 { #_ }
+- Merged text and math symbols, renamed a few symbols (including `infty` to
+ `infinity` with the alias `oo`)
- Fixed missing italic mappings
- Math italics correction is now applied properly
- Parentheses now scale in `[$zeta(x/2)$]`
@@ -779,17 +763,17 @@ description: |
- Heading and list markers now parse consistently
- Allow arbitrary math directly in content
-## January 30, 2023
+## January 30, 2023 { #_ }
[Go to the announcement blog post.](https://typst.app/blog/2023/january-update)
- New expression syntax in markup/math
- Blocks cannot be directly embedded in markup anymore
- Like other expressions, they now require a leading hashtag
- - More expressions available with hashtag, including literals
- (`[#"string"]`) as well as field access and method call
- without space: `[#emoji.face]`
+ - More expressions available with hashtag, including literals (`[#"string"]`)
+ as well as field access and method call without space: `[#emoji.face]`
- New import syntax
- `[#import "module.typ"]` creates binding named `module`
- - `[#import "module.typ": a, b]` or `[#import "module.typ": *]` to import items
+ - `[#import "module.typ": a, b]` or `[#import "module.typ": *]` to import
+ items
- `[#import emoji: face, turtle]` to import from already bound module
- New symbol handling
- Removed symbol notation
@@ -811,8 +795,8 @@ description: |
- To forcibly match two delimiters, use `lr` function
- Line breaks may occur between matched delimiters
- Delimiters may also be unbalanced
- - You can also use the `lr` function to scale the brackets
- (or just one bracket) to a specific size manually
+ - You can also use the `lr` function to scale the brackets (or just one
+ bracket) to a specific size manually
- Multi-line math with alignment
- The `\` character inserts a line break
- The `&` character defines an alignment point
@@ -835,10 +819,11 @@ description: |
- New shorthands: `[|`, `|]`, and `||`
- New `attach` function, overridable attachments with `script` and `limit`
- Manual spacing in math, with `h`, `thin`, `med`, `thick` and `quad`
- - Symbols and other content may now be used like a function, e.g. `[$zeta(x)$]`
+ - Symbols and other content may now be used like a function, e.g.
+ `[$zeta(x)$]`
- Added Fira Math font, removed Noto Sans Math font
- - Support for alternative math fonts through
- `[#show math.formula: set text("Fira Math")]`
+ - Support for alternative math fonts through `[#show math.formula: set
+ text("Fira Math")]`
- More library improvements
- New `calc` module, `abs`, `min`, `max`, `even`, `odd` and `mod` moved there
- New `message` argument on `{assert}` function