/

目录

目录通过以可视化层级展示指向各个标题的链接,为你的文档提供快速概览。读者可以点击任意条目,直接跳转到对应小节。你现在就可以在右侧边栏看到一份目录,如果你正在使用移动设备,它则会出现在页面末尾。

你可以通过 .tableofcontents 文档 ↗ 函数来显示目录。

基础用法

该函数接受以下可选参数:

参数说明可接受值默认值
title位于目录之前的标题。如果未设置,则会自动本地化。行内内容.doclang 的区域受支持,则自动本地化(例如英文下为 Table of Contents
maxdepth要显示的标题最大层级。例如,maxdepth:{2} 会收集 ### 标题,但不包括 ### 或更深的标题。整数3

示例 1

.tableofcontents maxdepth:{2}

## A

...

### A.A

...

### A.B

...

## B

...

## C

### C.A

#### C.A.A

...
Table of contents

按文档类型区分的行为

目录会适应不同的文档类型:

主题

布局主题 会极大地影响目录的外观。

示例 2

Table of contents with minimal theme
‘minimal’ theme

忽略特定标题

有时你希望某些标题出现在文档中,却不出现在目录里。装饰性标题正是为此而生:它们不被编号,且被排除在目录之外。

要将一个标题标记为装饰性,只需在最后一个 # 符号后追加 !

##! A decorative heading

自定义编号

你可以通过 .numbering 函数自定义目录中标题的编号方式。更多信息请参阅编号

标题选项

位于目录之前的标题,可以通过以下参数进行自定义:

参数说明可接受值默认值
headingdepth位于目录之前的标题层级。整数取决于文档类型(大多数情况下为 1,对于 docs 为 3)
breakpage该标题是否触发自动分页布尔值yes
numberheading该标题是否应被编号 ,并在文档层级中跟踪其位置。布尔值no
indexheading该标题是否应被纳入目录本身。会隐式启用 numberheading布尔值no

高亮条目

focus 参数会高亮目录中的某个特定条目,将注意力吸引到当前小节。

示例 3

在之前的示例中添加 focus:{A.B} 会高亮该条目:

.tableofcontents maxdepth:{2} focus:{A.B}
Table of contents with focus

这个功能在演示中尤为有用,你可能希望在每一章开头显示一个迷你目录,以引导观众。

使用标记实现章节导航

对于幻灯片演示,你可以将 focus 与**标记(markers)**结合,创建优雅的章节导航。.marker 函数创建一个不可见的 0 级标题,这是标准的 # 语法通常无法做到的。

下面是一个适用于章节幻灯片的实际模式:

.function {chapter}
    name:
    .tableofcontents maxdepth:{0} focus:{.name}
    .marker {.name}

随后你可以在每个小节的开头用 .chapter {My chapter} 调用它。设置 maxdepth:{0} 可确保目录中只出现标记,从而创建一个干净的章节级概览,而不是显示所有标题。