我有一个奇怪的问题,或者说两个。我想隐藏目录中的某个组织级别,例如章节。但我想保留较低级别(例如章节),还想保留章节作为 pdf 目录导航,并保留章节作为页眉。这可能听起来很奇怪,但在我正在编辑的书中,这是有道理的。(我有部分、章节和章节。我将使用 titletoc 重新格式化目录,这样它看起来就没问题了)
所以这两个问题是
- 是否可以将文档内的目录与 pdf 中的目录分开,如何做?
- 从文档目录中省略章节,但保留章节名称、编号等以用于其他目的(标题、公式编号等)的最简单方法是什么?
我只想保留章节作为标题和 pdf 目录,但我不会在其他地方使用它们。它们仅用于标题、非打印组织和公式编号。我已经不使用文本中的章节标题
\makeatletter
\newcommand{\unchapter}[1]{%
\begingroup
\let\@makechapterhead\@gobble % make \@makechapterhead do nothing
\chapter{#1}
\endgroup
}
\makeatother
使用 chapter* 不起作用,因为它会禁用标题、计数器和 pdf 目录。我无法使用上述技巧使 \chapter[]{} 工作。我试图操纵目录条目,但这也会操纵 pdf 导航。
我在想也许只保留“真实”目录用于 pdf 导航,但不在文档中显示它,并制作自定义目录进行显示,如果可能的话?(不确定如何)
如果有人提出建议我将非常感激。
答案1
谢谢乌尔里克上面指出了bookmarkdepth
与不同tocdepth
,我想到了一个效果很好的解决方案:
\makeatletter
\newcommand{\unchapter}[1]{%
\begingroup
\let\@makechapterhead\@gobble % make \@makechapterhead do nothing
\addtocontents{toc}{\protect\setcounter{tocdepth}{-1}}
\chapter{#1}
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\endgroup
}
\makeatother
需要做的就是.toc
在重新编译之前清除文件。