There is indeed a very simple way to adjust the spacing around the figures. As figures are block elements, you can make use of the spacing
, above
and below
fields of the block
element. To do that, define a show-set rule on figures:
#show figure: set block(spacing: 1.2em + 3pt)
The default value of the spacing is 1.2em
, so to increase it by 3pt
, you can just add them together. You can of course also set it to any other value, so just play around with it!
Alternatively, you can also use the first approach you mentioned (though I would prefer the above). The label can then still be attached if you put the figure in markup mode, as the syntax with <...>
only works there:
#pad(y: 7.5pt)[
#figure(
image(...)
caption: [this is an image]
) <myfigure>
]