目录包含文档中所有标题,深度与文件标题层级一致。如需修改深度或关闭目录,可设置 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’ 属性可指定目录中显示的不同名称。
当前部分导出后端不遵循该规则:例如 LaTeX 导出默认将所有无编号标题排除在目录外,除非将自定义变量 ‘org-latex-toc-include-unnumbered’ 设为 ‘t’ ,或在章节属性中添加 ‘:UNNUMBERED: toc’ 。