// Typst version 14.0.2 outputs a block quote as a
followed by
// a
for the attribution. This makes it difficult to target the
// attribution for styling. This snippet instead uses a
and
// a wrapped in a block.
#show quote.where(block: true): it => {
let inner = html.elem("blockquote", it.body)
if it.attribution != none {
html.elem("figure", {
inner
html.elem("figcaption", it.attribution)
})
} else {
inner
}
}