h
Element
Element 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
Fractional spacing
With fractional spacing, you can align things within a line without forcing
a paragraph break (like align
would). Each fractionally sized element
gets space based on the ratio of its fraction to the sum of all fractions.
First #h(1fr) Second \
First #h(1fr) Second #h(1fr) Third \
First #h(2fr) Second #h(1fr) Third
Mathematical Spacing
In mathematical formulas, you can additionally use these
constants to add spacing between elements: thin
(1/6 em), med
(2/9 em),
thick
(5/18 em), quad
(1 em), wide
(2 em).
Parameters
Parameters are the inputs to a function. They are specified in parentheses after the function name.
amount
How much spacing to insert.
weak
Settable
Settable 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 whether 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.