在下面的例子中,带星号部分的标题在目录中移动到左侧,但相应的超链接锚链接没有移动:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section*{Introduction}
\addcontentsline{toc}{section}{\hspace*{-1cm}Introduction}
\section{Title}
\end{document}
怎样才能移动它呢?
答案1
目录中各节条目的格式由宏控制\l@section
。以下示例定义了\l@leftsection
将条目向左移动 1cm。\toclevel@leftsection
定义书签的级别编号。
\documentclass{article}
\usepackage{hyperref}
\usepackage{etoolbox}
\makeatletter
\let\l@leftsection\l@section
\let\toclevel@leftsection\toclevel@section
\patchcmd\l@leftsection{\hskip}{\kern-1cm\hskip}{}{}
\makeatother
\begin{document}
\tableofcontents
\section*{Introduction}
\addcontentsline{toc}{leftsection}{Introduction}
\section{Title}
\end{document}