我想让“目录”部分显示为 PDF 书签。
我已经发现这个问题,并且以下通常有效:
\makeatletter
\usepackage{etoolbox}
\pretocmd{\tableofcontents}{%
\if@openright\cleardoublepage\else\clearpage\fi
\pdfbookmark[0]{\contentsname}{toc}%
}{}{}%
\makeatother
但现在我有一个新问题。它还为“列表列表”添加了一个书签。我有以下序列:
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
我想仅有的第一个项目 ( \tableofcontents
) 显示为 PDF 书签。有趣的是,图表列表和表格列表没有书签,这很好。但不幸的是,列表列表似乎以不同的方式实现,并且确实出现了。我怎样才能让列表列表再次从我的 PDF 书签中消失?
我已经有了这种定制,也许可以进一步调整?
\renewcommand\lstlistlistingname{List of Listings}
或者我可以“撤消”\pretocmd
之前的操作\lstlistoflistings
?
答案1
不要使用\pretocmd
,只需直接将内容添加到 即可\tableofcontents
。这样,列表不会受到影响。所以:
\if@openright\cleardoublepage\else\clearpage\fi%
\pdfbookmark[0]{\contentsname}{toc}%
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings