h
ElementElement functions can be customized with set
and show
rules.
set
and show
rules.Inserts horizontal spacing into a paragraph.
The spacing can be absolute, relative, or fractional. In the last case, the remaining space on the line is distributed among all fractional spacings according to their relative fractions.
Example
First #h(1cm) Second \
First #h(30%) Second \
First #h(2fr) Second #h(1fr) Third

Mathematical Spacing
In mathematical formulas, you can additionally use these constants to add spacing between elements: thin
, med
, thick
, quad
.
ParametersParameters are the inputs to a function. They are specified in parentheses after the function name.
amount
How much spacing to insert.
weak
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
set
rule.If true
, the spacing collapses at the start or end of a paragraph. Moreover, from multiple adjacent weak spacings all but the largest one collapse.
Weak spacing in markup also causes all adjacent markup spaces to be removed, regardless of the amount of spacing inserted. To force a space next to weak spacing, you can explicitly write #" "
(for a normal space) or ~
(for a non-breaking space). The latter can be useful to create a construct that always attaches to the preceding word with one non-breaking space, independently of wether a markup space existed in front or not.
Default: false
View example
#h(1cm, weak: true)
We identified a group of _weak_
specimens that fail to manifest
in most cases. However, when
#h(8pt, weak: true) supported
#h(8pt, weak: true) on both sides,
they do show up.
Further #h(0pt, weak: true) more,
even the smallest of them swallow
adjacent markup spaces.
