ページの先頭にジャンプする目次エントリ

ページの先頭にジャンプする目次エントリ

私は章や節などのないカスタム文書を作成しています。しかし、文書には自分で定義した項目を含む目次も必要です。これまで私は

\phantomsection
\addcontentsline{toc}{section}{My entry}

これにより、目次内にエントリが作成されます ( \tableofcontents)。ただし、これらのエントリの 1 つをクリックすると、このファントム セクションが定義されたドキュメント内の正確な場所にジャンプします。代わりに、そのページの先頭にジャンプします。理想的には、エントリをクリックすると、ページにジャンプして画面に収まる (通常はズーム アウトする) 必要があります。

目次にエントリを追加するにはどうすればいいですか?ページの先頭にジャンプしますエントリーしたいのですが?

答え1

するとページ アンカーに移動します。

\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}

これはページの一番上にリンクします。

\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}

関連情報