Incorrect hanging indentation

You can make it return a figure instead:

#let figure-hung(..args, caption: "", source: "", body) = figure(
  ..args,
  caption: caption,
  body + context block(
    width: measure(body).width,
  )[
    #set list(marker: "Source: ")
    #show list.item: set align(left)
    #show list.item: set par(justify: true)
    #list.item(source)
  ]
)
3 Likes