
目次から対応するセクションへのリンクを作成しようとしています。ハイパーリファレンス。
\section*
ただし、最初のエントリが番号なしのセクション ( ) である場合、リンクをクリックすると目次が表示されるだけであることに気づきました。
私が言おうとしていることを説明するために、小さな例を挙げます。2 番目の番号なしセクションは機能しますが、最初のセクションは機能しないことに注意してください。また、番号付きセクションを最初のエントリとして使用すれば、問題は解決します。
\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
\addcontentsline
直後に使用すると\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
beforeを追加する必要があります\addcontentsline
。
だから、
\phantomsection
\addcontentsline{toc}{section}{Name}
\section{Name}