list
ElementElementElement functions can be customized with set
and show
rules.
set
and show
rules.A bullet list.
Displays a sequence of items vertically, with each item introduced by a marker.
Example
Normal list.
- Text
- Math
- Layout
- ...
Multiple lines.
- This list item spans multiple
lines because it is indented.
Function call.
#list(
[Foundations],
[Calculate],
[Construct],
[Data Loading],
)

Syntax
This functions also has dedicated syntax: Start a line with a hyphen, followed by a space to create a list item. A list item can contain multiple paragraphs and other block-level content. All content that is indented more than an item's marker becomes part of that item.
ParameterParameterParameters are input values for functions. Specify them in parentheses after the function name.
tight
SettableSettableSettable parameters can be set using the set
rule, changing the default value used thereafter.
set
rule, changing the default value used thereafter.Defines the default spacing of the list. If it is
false
, the items are spaced apart with
paragraph spacing. If it is true
, they use
paragraph leading instead. This makes the list more
compact, which can look better if the items are short.
In markup mode, the value of this parameter is determined based on
whether items are separated with a blank line. If items directly follow
each other, this is set to true
; if items are separated by a blank
line, this is set to false
. The markup-defined tightness cannot be
overridden with set rules.
Default value: true
Show example
- If a list has a lot of text, and
maybe other inline content, it
should not be tight anymore.
- To make a list wide, simply insert
a blank line between the items.

marker
The marker which introduces each item.
Instead of plain content, you can also pass an array with multiple
markers that should be used for nested lists. If the list nesting depth
exceeds the number of markers, the markers are cycled. For total
control, you may pass a function that maps the list's nesting depth
(starting from 0
) to a desired marker.
Default value: ([•], [‣], [–])
Show example
#set list(marker: [--])
- A more classic list
- With en-dashes
#set list(marker: ([•], [--]))
- Top-level
- Nested
- Items
- Items

indent
SettableSettableSettable parameters can be set using the set
rule, changing the default value used thereafter.
set
rule, changing the default value used thereafter.The indent of each item.
Default value: 0pt
body-indent
SettableSettableSettable parameters can be set using the set
rule, changing the default value used thereafter.
set
rule, changing the default value used thereafter.The spacing between the marker and the body of each item.
Default value: 0.5em
spacing
Default value: auto
children
RequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.VariadicVariadicVariadic parameters can be specified multiple times.
The bullet list's children.
When using the list syntax, adjacent items are automatically collected into lists, even through constructs like for loops.
Show example
#for letter in "ABC" [
- Letter #letter
]

DefinitionDefinitionThese functions and types can have related definitions. To access a definition, specify the name of the function or type, followed by the definition name separated by a period.
item
ElementElementElement functions can be customized with set
and show
rules.
set
and show
rules.