Ссылка на оглавление первого раздела работает некорректно

Ссылка на оглавление первого раздела работает некорректно

Я пытаюсь создать ссылки из своего оглавления на соответствующие разделы, используягиперреф.

Однако я заметил, что если первая запись представляет собой ненумерованный раздел ( \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

Я обнаружил, что использование \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, вам следует добавить \phantomsectionbefore \addcontentsline, если вы используете hyperref.

Так же как и

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

Связанный контент