PDF Outline

Asciidoctor PDF generates a PDF outline by default. You can customize the outline title and the depth of section levels that are displayed in the PDF outline using AsciiDoc document attributes. The outline can also be deactivated with the outline attribute.

outline-title attribute

By default, the document title is displayed as the first entry in the PDF outline. You can customize the outline title using the outline-title document attribute. If this attribute is set and the value is not empty, it gets used instead of the document title.

= The Intrepid & Thrilling Chronicles
:outline-title: The Chronicles (1)
1 Set outline-title in the document header and assign it your preferred title for the PDF outline.

The PDF outline resulting from the example above will be titled “The Chronicles”.

If you plan to override this entry for a batch of documents, you may want to use a generic term such as "Outline", "Title Page" (when the doctype is book), or "Contents".

outlinelevels attribute

You can adjust the depth of section levels that are displayed in the PDF outline independent of the TOC level depth using the outlinelevels document attribute. By default, outlinelevels attribute is set to the same value as toclevels and all the levels are fully expanded.

To customize the depth of the section levels displayed in the PDF outline and configure them to be expanded, set the outlinelevels attribute in the header of your document and assign it an integer.

= Document Title
:outlinelevels: 3 (1)
1 Set outlinelevels in the document header and assign it an integer. Accepted numbers are 1 through 5.

In the above example, outlinelevels is set to 3. The resulting PDF outline will list the part titles (if present and the doctype is book), level 1 (==), level 2 (===), and level 3 (====) section titles. All the parts and sections listed in the PDF outline will be fully expanded because a second number isn’t present in the value assigned to outlinelevels.

To specify which levels are automatically expanded in the PDF outline, set the outlinelevels attribute in the header of your document and assign it a two-integer value (e.g., 4:1). The first number represents the section level depth included in the outline; the second number represents the level depth after which the levels are no longer automatically expanded.

= Document Title
:outlinelevels: 3:1 (1)
1 Directly after the first integer, enter a colon (:), and then a second integer.

You can also override the outlinelevels document attribute for a specific section and its children by setting outlinelevels on the section’s parent.

= Document Title
:outlinelevels: 1 (1)

== Section title

Content.

[outlinelevels=2] (2)
== Section title

Content.

=== Section title (3)
1 The outlinelevels document attribute is set to 1. The resulting PDF outline will list the part titles (if present and the doctype is book) and level 1 (==) section titles.
2 Set outlinelevels on the parent section title that will already be listed in the PDF outline due to the global outlinelevels value. Assign the outlinelevels on the section title the numeric value of the next section level you want to be inserted into the PDF outline.
3 This section title (and any of its children) will be listed in the PDF outline because [outlinelevels=2] was assigned to its parent section title.

Deactivate the outline

The PDF outline is generated by default when you run Asciidoctor PDF. You can turn off the outline by unsetting the document attribute outline.

Unset outline
= Document Title
:!outline: (1)
1 Unset the outline attribute by prefixing it with the bang symbol (!).

When the outline attribute is unset, the resulting PDF won’t have an outline.