13.3 Table of Contents

目录包含文档中所有标题,深度与文件标题层级一致。如需修改深度或关闭目录,可设置 org-export-with-toc 变量;单文件内可在 ‘OPTIONS’ 关键字中使用 ‘toc’ 项实现相同效果:

#+OPTIONS: toc:2          (目录只包含两级标题)
#+OPTIONS: toc:nil        (完全不生成默认目录)

目录中会包含带编号与无编号标题131。如需排除某个无编号标题及其所有子项,将 ‘UNNUMBERED’ 属性设为 ‘notoc’ 。

* Subtree not numbered, not in table of contents either
  :PROPERTIES:
  :UNNUMBERED: notoc
  :END:

Org 默认将目录置于导出文档开头。如需移动目录位置,先通过 org-export-with-toc 或 ‘#+OPTIONS: toc:nil’ 关闭默认目录,再在目标位置插入 ‘#+TOC: headlines N’ 。

#+OPTIONS: toc:nil
...
#+TOC: headlines 2

为文档特定部分设置目录深度,可附加 ‘local’ 参数,表示相对于当前层级的深度。下例插入只包含直接子项的局部目录:

* Section
#+TOC: headlines 1 local

注意在 LaTeX 导出中此功能需要 titletoc 包,且因兼容性问题必须在 hyperref 之 加载,可自定义 org-latex-default-packages-alist

下例插入链接到指定目标子项的目录:

* Target
  :PROPERTIES:
  :CUSTOM_ID: TargetSection
  :END:
** Heading A
** Heading B
* Another section
#+TOC: headlines 1 :target #TargetSection

:target’ 属性在 HTML、Markdown、ODT、ASCII 导出中支持。

可使用 ‘TOC’ 关键字生成带标题的图表清单或代码清单:

#+TOC: listings
#+TOC: tables

Org 默认使用标题文本作为目录项,通过 ‘ALT_TITLE’ 属性可指定目录中显示的不同名称。


Footnotes

(131)

当前部分导出后端不遵循该规则:例如 LaTeX 导出默认将所有无编号标题排除在目录外,除非将自定义变量 ‘org-latex-toc-include-unnumbered’ 设为 ‘t’ ,或在章节属性中添加 ‘:UNNUMBERED: toc’ 。