指向第一部分的目錄連結無法正常運作

指向第一部分的目錄連結無法正常運作

我正在嘗試使用以下命令創建從我的目錄到相應部分的鏈接超引用

但是,我注意到,如果第一個條目是未編號的部分 ( \section*),則該連結只會將我帶到目錄。

這是一個小例子來說明我想說的話。請注意,第二個未編號部分有效,而第一個部分則無效。此外,使用編號部分作為第一個條目可以解決該問題。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linktoc=all,
    linkcolor=black,
}

\begin{document}

\tableofcontents

\newpage

\addcontentsline{toc}{section}{Unnumbered section 1}
\section*{Unnumbered section 1}

\addcontentsline{toc}{section}{Unnumbered section 2}
\section*{Unnumbered section 2}

\end{document}

我怎樣才能擁有第一個鏈接,使其定位到正確的頁面?

答案1

我發現使用\addcontentslinejust after\section*可以解決問題。

所以更正後的程式碼是

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linktoc=all,
    linkcolor=black,
}

\begin{document}

\tableofcontents

\newpage

\section*{Unnumbered section 1}
\addcontentsline{toc}{section}{Unnumbered section 1}

\section*{Unnumbered section 2}
\addcontentsline{toc}{section}{Unnumbered section 2}

\end{document}

正如@daleif 所指出的,如果您使用 hyperref,則應該\phantomsection在之前添加\addcontentsline

所以就像

\phantomsection
\addcontentsline{toc}{section}{Name}
\section{Name}

相關內容