谢谢这个问题我设法让未编号的部分在目录中对齐,但是当我使用超链接突出显示pdfborderstyle
我得到一个轮廓或突出显示,没有缩进。像这样(下面的代码),
有没有办法缩进到 getpdfborderstyle
的缩进,即在蓝线处停止?如果这有意义的话。
\documentclass{book}
\usepackage{hyperref}
\hypersetup{pdfborderstyle={/S/U/W 1} % thanks, http://tex.stackexchange.com/a/26085/22939
}
\begin{document}
\tableofcontents
\chapter{Introduction}
\chapter*{Main point}
\phantomsection\addcontentsline{toc}{chapter}{\protect\hphantom{\numberline{\thesection}}Main point}
\chapter{Some additional material}
\end{document}
答案1
它不适用于您的代码(顺便说一下,它太复杂了,没有必要\hphantom
,一个空的\numberline
也会做同样的事情
\addcontentsline{toc}{chapter}{\protect\numberline{}Main point}
:)
您必须定义一个新的内容行类型:
\documentclass{book}
\usepackage{hyperref}
\hypersetup{pdfborderstyle={/S/U/W 1} % thanks, http://tex.stackexchange.com/a/26085/22939
}
\makeatletter
\def\toclevel@schapter{0}
\newcommand*\l@schapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip\numberline{}%
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}
\makeatother
\begin{document}
\tableofcontents
\chapter{Introduction}
\chapter*{Main point}
\addcontentsline{toc}{schapter}{Main point}
\chapter{Some additional material}
\end{document}