Skip to main content
Autype can automatically generate indices from your document content. All indices use inline directive syntax (::directive{attrs}).

Table of Contents

Generate a TOC from all headings in the document:
::toc

With options

::toc{title="Table of Contents" maxLevel=3 hyperlink=true}

Attributes

AttributeValuesDefaultDescription
titleString(none)Title displayed above the TOC
maxLevel1–63Maximum heading level to include
hyperlinktrue, falsetrueMake entries clickable
The TOC is generated as a document field. When opening in Word or LibreOffice, you may be prompted to update fields to populate the TOC with page numbers.

Example

# My Document

::toc{title="Contents" maxLevel=2}

---

## Chapter 1

Content...

## Chapter 2

Content...

List of Figures

Generate a list of all figures (images and charts with captions):
::listOfFigures
Short alias:
::lof

With options

::listOfFigures{title="List of Figures"}
::lof{title="Abbildungsverzeichnis" tabStyle=hyphen}

Attributes

AttributeValuesDefaultDescription
titleString(none)Title displayed above the list
tabStyledot, hyphen, underscore, nonedotTab leader style between caption and page number

How figures are numbered

Figures are automatically numbered based on:
  • Images with alt text (alt text becomes the caption): ![Sales Dashboard](img.png)
  • Images with explicit caption attribute: ![](img.png){caption="Sales Dashboard"}
  • Charts with a caption attribute: :::chart{caption="Revenue 2024"}
The figure prefix (e.g., "Figure", "Abb.") and caption styling are configured in your document’s style settings.

List of Tables

Generate a list of all tables with captions:
::listOfTables
Short alias:
::lot

With options

::listOfTables{title="List of Tables"}
::lot{title="Tabellenverzeichnis" tabStyle=hyphen}

Attributes

AttributeValuesDefaultDescription
titleString(none)Title displayed above the list
tabStyledot, hyphen, underscore, nonedotTab leader style between caption and page number

How tables are numbered

Tables are automatically numbered based on tables that have the caption attribute in the :::table directive:
:::table{caption="Revenue by Quarter"}
| Quarter | Revenue |
|---------|---------|
| Q1 | €150,000 |
:::
The table prefix (e.g., "Table", "Tabelle") and caption styling are configured in your document’s style settings.

List of Code Listings

Generate a list of all code blocks with captions:
::listOfCodeListings
Short alias:
::loc

With options

::listOfCodeListings{title="List of Code Listings"}
::loc{title="Quellcodeverzeichnis" tabStyle=hyphen}

Attributes

AttributeValuesDefaultDescription
titleString(none)Title displayed above the list
tabStyledot, hyphen, underscore, nonedotTab leader style between caption and page number

How code listings are numbered

Code listings are automatically numbered based on code blocks that have the caption attribute:
```typescript{caption="Configuration interface" anchor="code-config"}
interface Config {
  apiUrl: string;
  timeout: number;
}
```
The listing prefix (e.g., "Listing", "Quellcode") and caption styling are configured in your document’s style settings.
Diagram code blocks (e.g., mermaid, plantuml) with captions are numbered as figures and appear in the List of Figures, not the List of Code Listings — unless renderAsImage=false is set. See Diagrams for details.

List of Abbreviations

Generate a list of all abbreviations used in the document:
::listOfAbbreviations
Short alias:
::loa

With options

::listOfAbbreviations{title="List of Abbreviations" sortOrder=alphabetical}
::loa{title="Abkürzungsverzeichnis" sortOrder=document}

Attributes

AttributeValuesDefaultDescription
titleString(none)Title displayed above the list
sortOrderalphabetical, documentalphabeticalSort order
  • alphabetical — abbreviations sorted A–Z
  • document — abbreviations in the order they first appear
See Abbreviations for how to mark abbreviations in your text with ~ABK~ syntax.

Tab leader styles

The tabStyle attribute controls the visual separator between the entry text and the page number:
StyleAppearance
dotChapter 1 .............. 3
hyphenChapter 1 ------------ 3
underscoreChapter 1 ____________ 3
noneChapter 1 3

Full example: Academic document

---page{align=center}---

# Research Paper Title

**Author Name**

{{date/D. MMMM YYYY}}

---/page---

---

::toc{title="Table of Contents" maxLevel=3}

---

::lof{title="List of Figures"}

---

::lot{title="List of Tables"}

---

::loc{title="List of Code Listings"}

---

::loa{title="List of Abbreviations" sortOrder=alphabetical}

---

## Introduction {#intro}

The ~WHO~ has published guidelines on this topic @[who2023].

## Results

:::chart{type="bar" caption="Survey Results" anchor="chart-results"}
labels: Group A, Group B, Group C
dataset: Score | 85, 72, 91 | #3b82f6
:::

:::table{caption="Detailed Scores"}
| Group | Mean | SD |
|-------|------|----|
| A | 85.2 | 4.1 |
| B | 72.1 | 6.3 |
| C | 91.0 | 2.8 |
:::

As shown in [Figure {num}](#chart-results), Group C performed best.

## Implementation

```typescript{caption="Data Processing Function" anchor="code-process"}
async function processResults(data: RawData[]): Promise<Report> {
  const validated = data.filter(d => d.isValid);
  return generateReport(validated);
}
```

See [Listing {num}](#code-process) for the data processing implementation.

## References

::bibliography{title="References"}