
Estoy intentando crear enlaces desde mi tabla de contenido a las secciones correspondientes usandohiperreferencia.
Sin embargo, he notado que si la primera entrada es una sección sin numerar ( \section*
), el enlace simplemente me lleva a la tabla de contenido.
He aquí un pequeño ejemplo para ilustrar lo que intento decir. Tenga en cuenta que la segunda sección sin numerar funciona mientras que la primera no. Además, utilizar una sección numerada como primera entrada solucionaría el problema.
\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}
¿Cómo puedo tener el primer enlace para que apunte a la página correcta?
Respuesta1
Descubrí que usar \addcontentsline
justo después \section*
soluciona el problema.
Entonces el código corregido sería
\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}
Como señaló @daleif, debes agregar \phantomsection
antes \addcontentsline
si usas hyperref.
Así como
\phantomsection
\addcontentsline{toc}{section}{Name}
\section{Name}