Estoy creando un documento personalizado sin capítulos, secciones, etc. Pero también quiero una tabla de contenido en mi documento, con entradas que yo defina. Hasta ahora he usado
\phantomsection
\addcontentsline{toc}{section}{My entry}
y esto crea una entrada dentro de mi tabla de contenido ( \tableofcontents
). Pero cuando hago clic en una de estas entradas, el salto me lleva a la ubicación exacta del documento donde se definió esta sección fantasma. En lugar de eso, quiero saltos que me lleven a la parte superior de esa página. Idealmente, la página debería saltar y ajustarse a la pantalla (normalmente alejarse) cuando hago clic en la entrada.
¿Cómo puedo agregar entradas a la tabla de contenido quesalta a la parte superior de la página¿Quiero una entrada para?
Respuesta1
Esto lo llevará al ancla de la página.
\documentclass{article}
\usepackage{hyperref}
\makeatletter
\newcommand{\phantompageref}{\def\@currentHref{page.\@the@H@page}}
\makeatother
\begin{document}
\tableofcontents
\newpage
\rule{1pt}{.4\textheight}
\phantompageref
\addcontentsline{toc}{section}{My entry}
\rule{2pt}{.4\textheight}
\end{document}
Esto enlaza con la parte superior de la página.
\documentclass{article}
\usepackage{everypage}
\usepackage{hyperref}
\AddEverypageHook{\raisebox{1in}[0pt][0pt]{\hypertarget{pagetop.\thepage}{}}}
\makeatletter
\newcommand{\phantompageref}{\def\@currentHref{pagetop.\thepage}}
\makeatother
\begin{document}
\tableofcontents
\newpage
\rule{1pt}{.4\textheight}
\phantompageref
\addcontentsline{toc}{section}{My entry}
\rule{2pt}{.4\textheight}
\end{document}