Variable-length arrows in Typst, fitting the width of a given content.
Usage
This library mainly provides the xarrow
functions. This function takes one
positional argument, which is the content to display on top of the arrow.
Additionnaly, the library provides the following arrow styles:
xarrowHook
using arrowsym.arrow.hook
;xarrowDouble
using arrowsym.arrow.double.long
;xarrowHead
using arrowsym.arrow.twohead
;xarrowSquiggly
using arrowsym.arrow.long.squiggly
;xarrowDashed
using arrowsym.arrow.dashed
.
These names use camlCase in order to be simply called from math mode. This may change in the future, if it becomes possible to have the function names reflect the name of the symbols themselves.
Example
#import "@preview/xarrow:0.1.0": xarrow, xarrowSquiggly
$
a xarrow(QQ\, 1 + 1^4) b \
c xarrowSquiggly("super mmmmmmmmm") d
$
Customisation
The xarrow
function has several named arguments which serve to create new
arrow designs:
sym
, the base symbol arrow to use;margins
, the spacing on each side of thebody
argument.sections
, a tuple describing how the symbol is divided by the function. This takes two ratios, which cut the symbol in three parts. The central part is repeated. This is the parameter that has to be tweaked if observing artefacts.reducible
, a boolean telling whether the symbol can be shorter than the original if the given body is too narrow.partial_repeats
, a boolean telling whether the central part of the symbol can be partially repeated at the end in order to match the exact desired width. This has to be disabled when the repeated part has a clear period (like the squiggly arrow).
For the exact default values and customisation examples (using the with
method), please refer to the source file.