Figures
Markdown images
When you embed images in markdown with  the <img> tags are wrapped in <figure> tags. This allows to add captions with <figcaption> tags.
It is recommended that you also use <figure> tags when placing images in your HTML template in text. Except for logos in headers or background images on the title page.
html
<figure>
<img src="...">
<figcaption>Caption</figcaption>
</figure>Image width
md
{width="50%"}
{width="10cm" height="7cm"}Basic styling
css
/* Image styling */
/* Prevent images from overflowing figure or page width */
img {
max-width: 100%;
}
figure {
text-align: center;
margin-left: 0;
margin-right: 0;
}
figcaption {
font-weight: bold;
break-before: avoid;
}Figure numbering
Figures with captions are numbered by default as Figure <number>: <caption> and referenced as Figure <number>.
List of Figures
Template Component
Works similar like table of contents. The component uses multi-pass rendering. In the first render-pass it does nothing, in the second pass it collects all previously rendered <figcaption> tags and provides them in the variable items.
html
<list-of-figures id="lof" v-slot="{ items }">
<section v-if="items.length > 0">
<h1 class="in-toc">List of Figures</h1>
<ul>
<li v-for="item in items">
<ref :to="item.id" />
</li>
</ul>
<pagebreak />
</section>
</list-of-figures>Referencing figure numbers
css
#lof li {
list-style: none;
margin: 0;
padding: 0;
}
#lof .ref-figure::before {
content: var(--prefix-figure) target-counter(attr(href), figure-counter) " - ";
}
#lof .ref-figure > .ref-title {
display: inline;
}
#lof .ref-figure::after {
content: " " leader(".") " " target-counter(attr(href), page);
}