= Table of Contents Category Keys
:description: Reference list of the available TOC category keys and their value types.
:navtitle: TOC
:source-language: yaml

[#toc]
== toc

The keys in the `toc` category control the arrangement and style of the table of contents.

[cols="3,4,5a"]
|===
|Key |Value Type |Example

|break-after
|`auto` +
(default: _not set_)
|[source]
toc:
  break-after: auto

|font-color
|xref:color.adoc[Color] +
(default: _inherit_)
|[source]
toc:
  font-color: #333333

|font-family
|xref:font-support.adoc[Font family name] +
(default: _inherit_)
|[source]
toc:
  font-family: Noto Serif

|font-kerning
|`none` {vbar} `normal` +
(default: _inherit_)
|[source]
toc:
  font-kerning: none

|font-size
|xref:text.adoc#font-size[Font size] +
(default: _inherit_)
|[source]
toc:
  font-size: 9

|font-style
|xref:text.adoc#font-style[Font style] +
//TODO Why is the default not inherited?
(default: `normal`)
|[source]
toc:
  font-style: bold

|hanging-indent
|xref:measurement-units.adoc[Measurement] +
(default: _not set_)
|[source]
toc:
  hanging-indent: 0.5in

|indent
|xref:measurement-units.adoc[Measurement] +
(default: `15`)
|[source]
toc:
  indent: 20

|line-height
|xref:language.adoc#values[Number] +
(default: `1.4`)
|[source]
toc:
  line-height: 1.5

|margin-top
|xref:measurement-units.adoc[Measurement] +
(default: `0`)
|[source]
toc:
  margin-top: 0

|text-decoration
|xref:text.adoc#decoration[Text decoration] +
(default: `none`)
|[source]
toc:
  text-decoration: underline

|text-decoration-color
|xref:color.adoc[Color] +
(default: `$toc-font-color`)
|[source]
toc:
  text-decoration-color: #CCCCCC

|text-decoration-width
|xref:language.adoc#values[Number] +
(default: `$base-text-decoration-width`)
|[source]
toc:
  text-decoration-width: 0.5

|text-transform
|xref:text.adoc#transform[Text transform] +
(default: _inherit_)
|[source]
toc:
  text-transform: uppercase
|===

[#levels]
== toc-h<n>

The keys in the `toc-h<n>` category control the arrangement and style of each heading level displayed in the table of contents.
`<n>` is a number ranging from 1 to 6, representing each of the six heading levels.

[cols="3,4,5a"]
|===
|Key |Value Type |Example

|font-color
|xref:color.adoc[Color] +
(default: _inherit_)
|[source]
toc:
  h3-font-color: #999999

|font-family
|xref:font-support.adoc[Font family name] +
(default: _inherit_)
|[source]
toc:
  h2-font-family: Noto Serif

|font-kerning
|`none` {vbar} `normal` +
(default: _inherit_)
|[source]
toc:
  h3-font-kerning: none

|font-size
|xref:text.adoc#font-size[Font size] +
(default: _inherit_)
|[source]
toc:
  h3-font-size: 9

|font-style
|xref:text.adoc#font-style[Font style] +
(default: _inherit_)
|[source]
toc:
  h2-font-style: italic

|text-transform
|xref:text.adoc#transform[Text transform] +
(default: _inherit_)
|[source]
toc:
  h3-text-transform: none
|===

[#title]
== toc-title

The keys in the `toc-title` category control the arrangement and style of the title of the table of contents.

[cols="3,4,5a"]
|===
|Key |Value Type |Example

|font-color
|xref:color.adoc[Color] +
(default: `$heading-h2-font-color`)
|[source]
toc:
  title:
    font-color: #AA0000

|font-family
|xref:font-support.adoc[Font family name] +
(default: `$heading-h2-font-family`)
|[source]
toc:
  title:
    font-family: Noto Serif

|font-kerning
|`none` {vbar} `normal` +
(default: _inherit_)
|[source]
toc:
  title:
    font-kerning: none

|font-size
|xref:text.adoc#font-size[Font size] +
(default: `$heading-h2-font-size`)
|[source]
toc:
  title:
    font-size: 18

|font-style
|xref:text.adoc#font-style[Font style] +
(default: `$heading-h2-font-style`)
|[source]
toc:
  title:
    font-style: bold_italic

|text-align
|xref:text.adoc#text-align[Text alignment] +
(default: `$heading-h2-text-align`)
|[source]
toc:
  title:
    text-align: right

|text-transform
|xref:text.adoc#transform[Text transform] +
(default: `$heading-h2-text-transform`)
|[source]
toc:
  title:
    text-transform: uppercase
|===

[#dot]
== toc-dot-leader

The keys in the `toc-dot-leader` category control the arrangement and style of the dot leader in the table of contents.

[cols="3,4,5a"]
|===
|Key |Value Type |Example

|content
|xref:quoted-string.adoc[Quoted string] +
(default: `'. '`)
|[source]
toc:
  dot-leader:
    content: ". "

|<<font-properties,font-color>>
|xref:color.adoc[Color] +
(default: _inherit_)
|[source]
toc:
  dot-leader:
    font-color: #999999

|<<font-properties,font-size>>
|xref:text.adoc#font-size[Font size] +
(default: _inherit_)
|[source]
toc:
  dot-leader:
    font-size: 10

|<<font-properties,font-style>>
|xref:text.adoc#font-style[Font style] +
(default: `normal`)
|[source]
toc:
  dot-leader:
    font-style: bold

|<<dot-levels,levels>>
|`all` {vbar} `none` {vbar} Integers (space-separated) +
(default: `all`)
|[source]
toc:
  dot-leader:
    levels: 2 3
|===

[#font-properties]
=== font-*

The dot leader inherits all font properties except `font-style` from the parent `toc` category.

The purpose of the `font-size` key is to slightly increase the size of the dot leader symbol.
If the value is too large, it can impact the line height and thus throw off the alignment of the title and the page number.

[#dot-levels]
=== levels

The integers assigned to the `levels` key are based on the AsciiDoc section levels.
That is part = 0, chapter = 1, etc.
Dot leaders are only shown for the specified levels.
If a value isn't specified, dot leaders are shown for all levels.
